Visual Studio C# 中使用用户控件

使用VS C#无论是WinForm开发,还是WebForm 开发都会遇到一个问题:在Form布局时,会重复使用相同的一组控件。如下图中的控件

Visual Studio C 中使用用户控件 - Steven - Steven的博客

 这一组控件是非常常用的,但是如果每一次布局相似的窗体时,都对这些控件进行属性设置会是一件非常没有技术含量的工作。通常这时就需要用到用户控件了。

在当前的项目上添加新建项,在弹出的对话框中选择“用户控件”:

Visual Studio C 中使用用户控件 - Steven - Steven的博客

 在下面的名称设置一下用户控件的名称。这里我就命名为:DataArea。在生成的用户控件设计窗体,布局控件:

Visual Studio C 中使用用户控件 - Steven - Steven的博客

 这些都比较简单,但关键是问题是,生成的用户控件默认是不会暴露子控件的属性。比如:你无法直接使用用户控件的实例来设置子控件DatePicker的value属性来设置日期值。这里有二种做法:

一、使用userControl.Controls["用户控件中的子控件名"],来调用子控件,再设置子控件的相关属性。但是这有一个问题,就是你需要记住每个控件的Name属性,而且调用的时候需要先把查找到的子控件强制转换向下转型到正确的控件类型,然后再进行设置。这显示是比较麻烦的,所以不推荐使用;

二、在设计用户控件时,就暴露子控件的一些属性,把这些属性设计为用户控件的公用属性。这样,直接调用用户控件的这些设置好的属性就可以设置或者取得子控件的属性了,同时这样的设计还有良好的封装性。代码如下:

Visual Studio C 中使用用户控件 - Steven - Steven的博客

 三个暴露出来的属性分别是开始日期,结束日期,和查询按钮。Form的调用代码如下:

Visual Studio C 中使用用户控件 - Steven - Steven的博客

 这样的代码,既简单又容易解理,调用者不必了解用户控件的具体设计细节,只需要了解控件所暴露出来的属性即可方便使用全部子控件。

其实你可以把用户控件当作窗体来设计和进行编码,只不过是这个特殊的窗体需以其他的窗体作为载体。当然,你也可以在用户控件中加入一些具体处理的事件处理和变量计算等等。

在VS2022进行C#界面编程,你可以按照以下步骤创建界面: 1. 打开Visual Studio 2022,并创建一个新的C#项目。 \[2\] 2. 在项目,右键点击项目名称,选择"添加",然后选择"Windows 窗体"或"WPF 窗体",取决于你想要使用的界面类型。 \[2\] 3. 选择窗体类型后,Visual Studio会自动生成一个默认的窗体文件,其包含了窗体的设计视图和代码视图。 4. 在设计视图,你可以使用工具箱控件来构建界面。你可以从工具箱拖拽控件到窗体上,并调整它们的位置和大小。 \[2\] 5. 在代码视图,你可以编写事件处理程序和其他逻辑代码来实现界面的功能。你可以通过双击控件或在属性窗口选择事件来自动生成事件处理程序的代码框架。 \[2\] 6. 在界面编程,你可以使用C#语言的语法和库来操作控件、处理用户输入、进行数据绑定等等。你可以在编码过程参考C#的相关文档和教程来学习更多的界面编程技巧。 \[1\] 总结起来,通过在Visual Studio 2022创建C#项目,并在项目添加窗体,你可以使用设计视图和代码视图来创建和定制界面,同时使用C#语言来实现界面的功能和逻辑。 #### 引用[.reference_title] - *1* *3* [C#,入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果](https://blog.csdn.net/beijinghorn/article/details/123478581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C#入门级-使用VS2022编写C#(包括WPF,对象属性赋值、x名称空间介绍)——商场收银系统](https://blog.csdn.net/dlwlrma_516/article/details/127163510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值