首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

应用C#设计winform的一些心得

坦言之,这其实只是个人第二次涉猎winform窗体应用的设计(上一次还要追溯6-7年前的院校时期),上手还是比较慢的,前后大概花了10天时间。因为最后功能上还算比较满意,特写此文以作总结,记录当下。...textbox可能存在的最大意义就是实现用户与软件的交互,通过接受文字输入实现相应的功能变化,对其最大的定制化操作在于与picturebox合理布局后的外观设计以及与其他button/label控件配合使用的效果...界面间传值也算是窗体程序设计间的一个老话题,网上也有很多教程,比如父传子容易实现,通过正常的函数传参即可实现;子传父又涉及到同步传值和异步传值的问题,一般需要强制指定拥有者来实现方位。...实际上,个人在解决这个问题时倒是想到了两个可称得上是“投机”的解决办法: 1.借用数据库来存储数据和传递数据,当弹出子窗口和父窗口的目的就是为了记录或获取一些值时,这时传值的操作就等价于子窗口将数据存储...而panel间传值则相比窗口间传值要容易了。之于panel的设计能否实现弹出窗口带来的相同效果,则要具体情况具体分析了。 界面缩放控制。

2.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    可视化数据库设计软件有哪些_数据库可视化编程

    2)创建新查询:右击相应的表适配器,选择“添加查询”命令,按默认向导进入使用SQL语句编辑窗口(见图5-19),并编写SQL语句,单击“下一步”按钮,将“方法名”改为“FillByDeptID”即可。...1) BindingSource控件 1.BindingSource控件的作用 用于简化将控件绑定到基础数据源的过程,可以看作是窗体上的控件到数据的一个间接层。...控件一起使用可以在窗体的数据记录之间移动并与这些记录进行交互。...3)TextBox控件 1.作用 TextBox控件用于显示及编辑数据表中当前记录中的字段值。 2.绑定属性 DataBindings属性用于绑定数据源。...[e.ColumnIndex].Value.ToString();//利用下标返回值 } /*将TextBox控件和DataGridView控件绑定到BindingSource控件,为

    6.7K40

    期末作业C#实现学生宿舍管理系统

    mycon.Close(); } 项目功能设计 后台管理界面 ---- 用户管理 创建一个dataGridView1视图,添加字段后如下所示 注意:在新的优化界面中我将该部分窗体重新放到了用户控件中去了...(aa.ToString()); 接下来需要把id传给Form5窗口,我们在这里了解下通过构造函数传值 特点:传值是单向的(不可以互相传值),实现简单 接收窗体需要如下代码: (这里的id为string...】按钮处添加 f4.Show(); //将窗体一进行显示 panel2.Controls.Clear(); //清空原容器上的控件 panel2...答:通过表单传值记录id在新的一个窗口查询一次数据,更新则是用了update 如果做到删除?...答:通过表单传值获取到的id进行数据库语句删除,删除本地的再删除数据库里面的 窗口如何传值: 本次通过构造函数,特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在目标窗体中 int

    29730

    1-4 多文档界面处理(3)

    通过类的属性进行数据传值 此次案例我们改变本节案例(1)数据传值的方法,通过建立类的属性将数据传递过去。...u 实验步骤(1): 为传值目标窗口Form3定义相关属性信息如下: 小实验: Form3目标传值窗体属性定义以及Load加载事件源代码: public partial class Form3 : Form...菜单的本质就是提供了将命令分组的一致方法,使得用户易于访问,通过支持使用访问键启用键盘快捷方式,达到快速操纵软件系统的目的。 菜单从分类来说,可以分为菜单栏、主菜单和子菜单三个概念。...图1-26 菜单栏、主菜单与子菜单 1-5-2 菜单的实践操作 1.案例学习:建立简单的菜单 (1)建立Winform窗体并从工具箱的菜单和工具栏中拖放一个MenuStrip控件到窗体上。...图1-27 拖放一个MenuStrip控件到窗体上 (2)可以直接点击MenuStrip控件填写主菜单及子菜单名称,但是需要注意菜单命名时候避免直接录入汉字的问题。

    61110

    Excel实战技巧69: 运用类来简化验证用户输入的代码

    使用集合 接着,应该由类模块控制的用户窗体中的控件必须与该类模块建立连接,并且应该在UserForm_Initialize事件中创建连接。可以使用集合来存储这些连接。..." Then Set ctl_col(ctl.Name).cls_textbox = ctl Next ctl End Sub 通过添加类模块的新实例到集合中,将用户窗体中的每个控件连接到该类模块...,使用控件的名字作为集合元素的键值。...由于类模块是对象,因此需要使用Set语句添加该类模块的新实例到数组中: Set str(i) = New NextVisible 检查用户窗体中控件的类型,以确保与类模块中相应的WithEvents变量连接...通过数组中的链接将控件连接到类模块中的相应WithEvents变量。在类模块中的事件变量是cls_textbox。

    97630

    C#记事本项目开发,一个可以实现批量操作的记事本!【附源码】

    很多小伙伴可能也都使用过记事本来记录一些自己比较重要或者容易忘记的事情,但是你知道它是怎么开发出来的嘛?...同样和之前大灰狼和大家分享的计算器项目一样,记事本项目也可以使用很多不同的语言开发,今天大灰狼就先和大家介绍一下使用C#开发记事本的思路和流程。...同时对于Java和C#在GUI编程上相同和不同之处,小伙伴可以看我之前的这篇文章“Java交互界面实现计算器开发设计【附函数源码】”, 好了,废话不多说,直接上教程。...在C#的窗体应用中,我们可以直接对界面进行控件布局,不需要使用代码定义控件,在这一点上C#的窗体应用开发是很不错的。...= ff[i].Name; //将字体保存在字体控件中 toolStripComboBox_fonyStaly.Items.Add(FontName

    2K10

    进程管理和死锁避免

    (1)显示资源分配后的板块:系统试探着将资源分配给申请资源的进程,并将分配后的结果使用listview控件以表格形式显示到窗体上,并将系统剩余资源显示到窗体上。...,初始化主窗体,给主窗体添加程序中所用到的控件,点击窗体上的控件触发事件。...void updateListView(ListView listView, int[] a); //初始化主窗体上的控件的值 private void MainForm_Load(object...public MainForm mainfrm; //声明主窗体对象,用来往主窗体传值 private SafeXuLie[] safexulie; //存放安全序列...,参数是主窗体对象 //给副窗体上的控件置初值 private void BankForm_Load(object sender, EventArgs e); //点击窗体上返回按钮,关闭副窗体并向主窗体传值

    8810

    C#学习笔记——show()与showDialog()的区别

    方法 实际上是把窗体的Visible属性赋值为false,隐藏窗体了 这样隐藏的窗体是可以重新显示,而不用创建该对话框的新实例 因为未关闭窗体,所以在应用程序不再需要该窗体时,请调用该窗体的Dispose...= this; f2.ShowDialog( ); 这样f2的所有者就是Form1 B.WinForm窗体传值 了解了窗体的显示相关知识,接着总结一下窗体的传值方法: 1.通过构造函数...特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中 int value1; string value2; public Form2 ( int value1...Form1中这样调用 new Form2 ( 111 , "222" ).Show ( ); //这样就把111,"222",这2个值传送给了Form2 2.通过静态变量 特点:传值是双向的,...= "Ok"; //给Form2的textBox1赋值Ok f2.ShowDialog ( ); 4.通过窗体的公有属性值和Owner属性 特点:实现简单,灵活 实现代码如下: 在窗体Form1

    2K41

    【愚公系列】2023年11月 Winform控件专题 Label控件详解

    如果您需要更精确地控制控件的位置,请使用Anchor属性或Dock属性。1.5 backcolorbackcolor属性用于设置控件的背景色。可以设置为预定义的颜色值或自定义的颜色值。...以下是使用ContextMenuStrip的步骤:在设计界面上,从工具箱中拖拽一个ContextMenuStrip控件到窗体上。在属性窗口中添加菜单项。...需要注意的是,当多个控件的Dock属性设置相同时,它们的位置顺序将根据它们在容器中的添加顺序决定。如果需要改变它们的顺序,可以通过在容器中删除再重新添加控件的方式来实现。...以下是一个具体的案例,用于说明如何在Winform中使用Label控件:在Visual Studio中创建一个新的Winform项目。在Form中添加一个Label控件。...运行程序,Label控件将显示在窗体中。

    90811

    【愚公系列】2023年11月 Winform控件专题 TextBox控件详解

    1.9 WordWrapWordWrap属性是在Winform的TextBox控件中使用的。该属性将文本框中的文本自动换行,以适应文本框的宽度。...HistoryList: 根据用户以前输入的历史记录来匹配。RecentlyUsedList: 根据用户最近使用的文件来匹配。CustomSource: 使用我们自己定义的自动完成列表来匹配。...控件是Winform中常用的用户输入控件,常用场景包括:用户输入:将TextBox控件放置在窗体上,用户可以在其中输入文字、数字或符号。...数据展示:将TextBox控件绑定到数据源,以显示数据。例如,将TextBox控件绑定到数据库中的某个字段,以显示该字段的值。...3.具体案例以下是一个简单的Winform项目,演示如何使用TextBox控件:创建一个新的Winform项目。在窗体上添加一个TextBox控件。在窗体上添加一个Button控件。

    56123

    .NET Core 3 WPF MVVM框架 Prism系列之命令

    本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的命令的用法 一.创建DelegateCommand命令      我们在上一篇.NET Core 3 WPF MVVM框架 Prism...现在我们有这种需求,我们要在这个界面基础上新增第二个Textbox,当Textbox的文本变化时,需要将按钮的Name和第二个Textbox的文本字符串合并更新到第一个Textbox上,我们第一直觉肯定会想到用...,用来绑定新的基于Task的命令,我们将要做的就是点击该按钮后,第一个Textbox的在5秒后显示"Hello Prism!"...,三个分别来显示当前年份,月日,时分秒,我们希望在主窗体提供一个按钮,点击后能够使其同时显示,这时候就有一种关系存在了,主窗体按钮依赖于三个子窗体的按钮,而子窗体的按钮不依赖于主窗体的按钮 下面是创建和使用一个...2.通过IOC容器注册其为单例    我们创建一个新的项目作为主窗体,用来显示子窗体和使用复合命令,关键部分代码如下: App.cs代码: using Prism.Unity; using Prism.Ioc

    1.9K50

    Excel编程周末速成班第18课:使用用户窗体创建自定义对话框

    要将控件放置在窗体上,在工具箱中单击该控件的图标;然后将图标拖到窗体上以放置控件。 单击窗体上已经存在的控件以将其选中。选定的控件显示带有8个方形手柄的较粗的点画边框,如图18-2所示。 ?...窗体上文本的默认值。有关使用字体的更多详细信息,请参见第14课。 ForeColor。窗体上用于文本和绘图的颜色。在代码中,使用RGB值设置该属性。 SpecialEffect。...7.再次返回到窗体,然后将TextBox控件添加到窗体,将此控件的属性保留为默认值。 8.单击工具栏上的“保存”按钮以保存该工程。 至此,窗体设计已经完成,尽管你仍然必须添加一些代码。...提示:如果在设计过程中双击窗体上的控件或窗体本身,则代码编辑窗口将打开并显示该控件的默认事件过程。默认事件过程(Microsoft员工认为最常使用的过程)是许多控件的Click事件。...你学到了: 用户窗体可以包含许多其他Windows应用程序中使用的相同控件。 一个VBA工程可以包含所需的任意多个用户窗体。 窗体和控件具有指定其外观和行为的属性。

    11.1K30

    【愚公系列】2023年12月 Winform控件专题 HelpProvider控件详解

    我们可以通过以下步骤来使用HelpProvider控件: 在Visual Studio的工具箱中找到HelpProvider控件,将其拖放到窗体上。...使用步骤如下: 1.在Winform窗体设计界面中拖拽HelpProvider控件到窗体上。 2.在属性窗口中设置HelpNamespace属性为帮助文件的路径(可以选取本地文件或者网络文件路径)。...帮助文件应该包含相应控件的帮助信息,可以在帮助文档中使用相应控件的HelpKeyword属性值设置帮助内容。 2.常用场景 HelpProvider控件的使用示例如下。...在此示例应用程序中,我们将使用HelpProvider控件为应用程序添加上下文相关帮助。 首先,创建一个新的WinForm项目。...例如,可以将Label控件放在TextBox控件的上方,并将Button控件放在TextBox控件的下方。

    43111

    焦点事件中的Validating处理方法

    例如,有一个电话号码的TextBox控件,需要检查该控件是否只包含适当的字符(数字、括号和连字符等等)。通常,我们可使用正则表达式验证用户输入的数据。...实际的结果是,除非数据有效,否则用户将无法退出该控件。...关闭窗体和重写验证 当数据无效时,维护焦点的控件的副作用是,使用关闭窗体的任何常规方法都将无法关闭父窗体: 单击“关闭”框 通过右击标题栏显示的“系统”菜单 以编程方式调用 Close 方法...        不过,在某些情况下,无论控件中的值是否有效,您都希望用户可以关闭窗体。...如果使用此方法强制关闭窗体,控件中尚未保存的任何信息都将丢失。模式窗体在关闭时不会验证控件内容,仍可以使用控件验证将焦点锁定到控件,但不必考虑关闭窗体的行为。

    2K10

    使用旋转按钮调节小数数字

    标签:VBA,用户窗体 在用户窗体中,旋转按钮控件通常只能调节整数,而本文给出的示例让旋转按钮可以调节小数数字,如下图1所示。...图1 可以看到,左侧的旋转按钮用来增加或减少整数数字,右侧的旋转按钮用来增加或减少小数数字。...实际上,该用户窗体中不只有这一个文本框、两个旋转按钮这三个控件,还“隐藏”着两个文本框控件,放在可以看到的窗体界面之外。...这个用户窗体代码如下: Private Sub TextBox1_Change() TextBox4.Value = (CDec(SpinButton2.Value) / 10 + CDec(SpinButton1...和TextBox2就是隐藏的两个文本框控件,在它们中分别存放着相应的两个旋转按钮调节的值,然后将这些值格式化并相加后输入到TextBox4控件中,即窗体中显示的值。

    13310

    【愚公系列】2023年11月 Winform控件专题 TableLayoutPanel控件详解

    要使用TableLayoutPanel控件,需要在Visual Studio设计器中将其拖放到窗体上,并设置其属性。...我们添加了四个按钮控件,并将它们分配到不同的单元格中。在将表格布局控件添加到窗体的Controls集合后,运行应用程序即可看到按钮以网格布局方式出现在窗体中。...以下是使用RowStyles属性的步骤:打开Winform窗体设计器,在工具箱中找到TableLayoutPanel控件并拖拽到窗体上。...功能分组:根据不同的功能,使用TableLayoutPanel将相应的控件分组,并布局在不同的面板上,以便于用户快速找到所需的功能。...首先,在VS中创建一个新的Winform应用程序项目,然后在Form1窗体中添加一个TableLayoutPanel控件。

    1.7K11

    Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术

    一般来说控件都是放到窗体或任务窗格中,但Excel同样支持将控件放到工作表单元格上,如前面提到的picturebox容器,放到单元格区域上,然后在容器上发图片,实现插入图片功能,同样地也可以存放单选、复选这些控件...自定义控件,可直接用到工作表单元格中 具体实现原理 通过用户配置操作,将需要进行快速录入的区域记录下来,用SelectionChange事件来响应,若用户选择到这些单元格时,就激发事件方法,显示自定义控件...,并让光标定位到自定义控件的查找控件TextBox等待用户输入。..._KeyDown; } } 响应录入单元格区域的代码,将自定义控件显示尺寸变大,之前有个关键点是隐藏了自定义控件后再显示,焦点不能顺利落到自定义控件的搜索TextBox...,使我们在上层构建业务代码时变得如此轻松,此篇给大家展示了在工作表单元格区域上创建自定义控件的能力,发挥得当,较直接弹出窗体的效果要友好得多。

    1.3K10
    领券