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

1-3 Winform 中的常用控件(

1-3 Winform 中的常用控件 u 本节学习目标: n System.Windows.Forms.Control基本结构 n 使用基本控件如标签、文本、按钮、列表框和组合框 n 掌握窗体的常用属性和方法...n 进行基本控件的开发设计工作 n 深入掌握系统对话框的属性及代码开发 n 掌握模式对话与非模式对话的概念及差异 n 了解模式对话的开发机理 1-3-1 简介 Winform 中的常用控件来自于系统System.Windows.Forms.Control...,该类库来自System.Windows.Forms命名空间之内,该命名空间提供各种控件类,使用这些控件类,可以创建丰富的用户界面,具体实现功能由位于该命名空间下的Control系统类派生。...这包括对话框,无模式窗口和多文档界面 (MDI) 客户端窗口及父窗口,同时也可以通过从UserControl类派生而创建自己的控件。...其基本的属性和方法定义如表1-3所示: 属性 说明 Enabled 确定是否可以启用或禁用该控件 方法 说明 PerFormClick Button 控件的 Click 事件 事件 说明 Click 单击按钮时将触发该事件

2.8K10

创建可维护和可测试的 Windows 窗体应用程序的 10 种方法(译)

将非 UI 代码排除在后面的代码之外 在 Windows 窗体应用程序中,你总是会在窗体背后的代码中找到访问网络、数据库或文件系统的代码。这严重违反了“单一责任原则”。...你的 Form 或 UserControl 类的重点应该只是用户界面。因此,当你检测到背后的代码中存在与 UI 无关的代码时,请将其重构为具有单一职责的类。...它还可能包括报告用户交互的事件,例如单击按钮或移动滑块。目标是这些视图接口的实现是完全被动的。理想情况下,你的 Forms 和 UserControls 背后的代码中不应该有任何条件逻辑。...使用命令模式 如果你的应用程序包含一个带有大量按钮供用户单击的工具栏,则命令模式可能非常适合。命令模式规定你为每个命令创建一个类。这有很大的好处,可以将你的代码分成小类,每个小类都有一个责任。...10.不要太晚 可以将我上面描述的所有模式和技术改造为现有的 Windows 窗体应用程序,但我可以从痛苦的经验告诉你,这可能需要大量工作,尤其是当窗体背后的代码达到数千行时。

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

    C#实现多个子窗体切换效果

    多窗体切换的原理:多窗体切换的原理其实是借助一个panel容器,在该容器中显示相同大小的窗口, 接下来大灰狼和大家分享一下建立多窗口切换的步骤: 1、新建一个主窗体并在其中放置适当的控件,包括进行切换的按钮和显示窗体的...2、新建用于在主窗体中显示的子窗体,子窗体的新建其实是一个用户控件(Windows窗体),在这里我们可以在状态栏中右击选择—>添加—>用户控件(Windows窗体) ?...3、设置子窗体的尺寸和panel容器的尺寸相等,目的是为了在panel容器中显示时不会溢出。在这里我们为了便于区分三个不同的子窗体,设置窗体的不同颜色,并在窗体中进行提示。 ?...f3 } 7、由于我们的窗体切换是点击相应的按钮触发的,所以我们要为相应的按钮控件设置触发事件。...双击主窗体中的按钮进入相应的触发函数,在这里我们要使用如下的代码对相应的子窗体进行显示: //显示窗体一 private void button1_Click(object

    4.8K30

    C#——写一个控件库

    转自https://blog.csdn.net/qq_33712555/article/details/80940569 注意:控件的类和部分类(包括窗体生成类/窗体设计类)全部要加public来修饰,...不然无法在工具箱里找到 控件库,说白了,就是个类库项目。...不过这个类库内定义了一系列自定义的控件。整个项目(类库+调用项目)结构大概是这个样 ? 请忽略Class2和ClassDiagram1.cd,这是我之前一个博文 用到的项目,留下来也无关紧要。...写控件库一点都不难,只需要同样的过程重复N遍再加上一点创意,必要时还需要用点别人的东西。...用于为属性指定另一个“默认值”等),如只是初步了解可以去查看VS从程序集 System.Windows.Forms.dll中反射出的各控件、控件属性、控件事件的声明和摘要(就是声明上面的绿字),更详细的描述可以去参考

    1.9K41

    事件与委托的区别就是“+=”和“-=?

    1、添加WebForm窗体 2、自己定义一个控件(项目右键,添加,用户控件,托Button控件进来) 3、声明变量i=0; 4、点击按钮“三连击”写代码,记得i==3的时候要清0; 5、F6启动生成!...6、回到窗体Form1.拖进来userClick控件,生成项目! 总结:这样不好,方法写死,点击事件的方法写死。我想要点击这个按钮还可以用于其他的功能,,用委托实现!!!...7.改进: 8、在userClick这个类中,定义委托 MyDel...在单击事件这个方法上写上委托字段,接收方法变量。 9、写完毕,点击F6,启动生成!...10、运行,此时,发现,点击”三连击“按钮,没有了任何的反应,因为委托中的方法是空的;; 11、双击Form1进入窗体加载的事件,,对委托中进行赋值方法,调用方法(写你想要的方法) 12、写方法; 13..._mdl = Show; //窗体加载的时候。我要给这个按钮做什么。我就给它赋值一个方法名字就行了 userClick1.

    1.3K20

    支持.NET控件的编程入门

    在VS2005中新建一个工程CalculateControl,工程类型为 Visual C# 中的Windows Control Library,在 Solution Explorer 窗口中,将UserControl1....cs重命名为 Calculate.cs,弹出的对话框询问是否改变所有与UserControl1相关的代码,点击[Yes]确认。...在Calculate.cs 文件的Calculate类中添加Add函数,用于计算两数之和,如下所示: public double Add(double dblA, double dblB) { return...按照如下步骤加载和使用该控件: 在Object Palette(对象面板)的Controls页中的.NET Control上右键单击,选择 [Add/Remove…] 快捷菜单项。...在窗体上加入一个按钮,将其文本改为Add,在按钮的鼠标左键单击(Button\Mouse\Press left)事件中加入VBS脚本,创建.NET控件并调用它的Add方法,源程序如下所示: Dim objCalculateControl

    3K22

    WinCC V7.0 支持.NET控件的编程入门

    在VS2005中新建一个工程CalculateControl,工程类型为 Visual C# 中的Windows Control Library,在 Solution Explorer 窗口中,将UserControl1....cs重命名为 Calculate.cs,弹出的对话框询问是否改变所有与UserControl1相关的代码,点击[Yes]确认。...在Calculate.cs 文件的Calculate类中添加Add函数,用于计算两数之和,如下所示: public double Add(double dblA, double dblB) { return...按照如下步骤加载和使用该控件: 在Object Palette(对象面板)的Controls页中的.NET Control上右键单击,选择 [Add/Remove…] 快捷菜单项。...在窗体上加入一个按钮,将其文本改为Add,在按钮的鼠标左键单击(Button\Mouse\Press left)事件中加入VBS脚本,创建.NET控件并调用它的Add方法,源程序如下所示: Dim objCalculateControl

    2.2K11

    深入浅出话命令

    命令的使用大概分为以下几步: (1)创建命令类:即获得一个实现ICommand接口的类,如果命令与具体的业务逻辑无关则使用WPF类库中的(RoutedCommand)类即可。...如果想得到与业务逻辑相关的专有命令,则需要创建RoutedCommand(或者ICommand接口)的派生类。 (2)声明命名实例:使用命令时需要创建命令类的实例。...还需要注意,各种控件发送命令的方法不经相同,比如Button和MenuButton在单击时发送命令,而ListBoxItem单击时表示被选中,双击的时候才发送命令。...这些命令都是ApplicationCommands类的静态属性,所以它们的实例永远只能有一个,这就引起了一个问题:如果界面上有两个按钮一个用来创建Student档案,一个用来创建Teacher档案。...;当输入文字后按钮变为可用,单击按钮,ListBox中会添加不同的条目,效果如下图: ?

    1.7K40

    C#之二十三 打印和水晶报表

    “按钮,新建一个报表并打开图所示”Crystal库“对话框,该对话框中,在”创建新Crystal Report 文档“中选择”使用报表向导“选项,并”选择专家“中的”标准“选项 (5) 单击...(6) 选择“可用数据源“中“创建新连接”下的OLEDB(ADO)命令打开对话框,选定数据源后,单击“下一步“按钮,在界面中填写正确的数据库连接信息,单击”下一步“按钮,进入高级信息编辑界面...本节将通过 两个具体实例介绍如何将Windows窗体中的内容以Word文档或Excels格式显示打印出来。...本实例在打印某企业的员工信息时,实现了通过将数据导入到Word文档中进行打印的功能。运行本实例,如图所示,单击“输出Word“按钮,DataGridView控件中的数据便以Word文档方式打开。...”COM“选项卡,然后找到要引用的Word动态链接库,单击“确定”按钮即可。

    13700

    c#实战教程_ps初学者入门视频

    Form类是.Net系统中定义的窗体类,Form类对象具有Windows应用程序窗口的最基本功能,有标题栏、系统菜单、最大化按钮、最小化按钮和关闭按钮、用户区。... Text:字符串类对象,窗体标题栏中显示的标题。  AcceptButton:记录用户键入回车时,相当于单击窗体中的那个按钮对象。... CanceButton:记录用户键入ESC键时,相当于单击窗体中的那个按钮对象。以上两个属性多用于对话框,例如打开文件对话框,用户键入回车,相当于单击确定按钮。...为了在窗体中或其它控件中使用这些工具和函数绘图,必须首先得到这些窗体或控件的使用的Graphics类对象。下面的例子,在窗体中增加了一个按钮,单击按钮将在窗体中画一个边界为红色,内部填充蓝色的圆。...当鼠标变为手形时,单击,可以打开另一个网页,下边的例子在当前窗口打开另一个网页。

    15.7K10

    占领标题栏

    将内容扩展到标题栏时自定义标题按钮颜色 将内容扩展到标题栏,标题按钮的颜色就变复杂了。因为应用内容的颜色可能和按钮的颜色冲突。...当使用高对比度主题时将标题栏的按钮颜色还原成默认值,否则设置成ThemeResource中对应的颜色,运行效果如下: ?...我暂时不清楚怎么在代码里拿到最新的ThemeResource,为解决这个问题只好让TitleBar自己在XAML中获取当前的ThemeResource,代码如下: UserControl.Resources...按钮的样式来自NavigationBackButtonNormalStyle并稍作修改,大致上做到和标准的标题栏按钮一样。 9....非激活状态的标题栏颜色 当窗体处于非激活状态应该让按钮和标题都变灰,可以订阅Window的Activated事件,在非激活状态时改变颜色: Window.Current.Activated += OnWindowActivated

    1.4K20

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

    该窗体通过UserForm对象表示。 窗体上的控件,包括窗体的可视化和功能界面。每种控件都由其自己的类表示。 用户窗体中的VBA代码。...如果为False,则用户可以在仍然显示该窗体时切换离开该窗体,并使用应用程序的其他部分(例如另一个窗体)。 StartUpPosition。首次显示时窗体的位置。有关允许的设置,参见表18-2。...3.单击该窗体将其激活。然后,在工具箱中,单击“命令按钮”图标。 4.通过在窗体中拖动将按钮放置在所需位置。...6.再次单击该窗体,然后添加另一个命令按钮,将其Name属性更改为cmdClose并将其Caption属性更改为Close。...该窗体应类似于图18-3。 ? 图18-3:完成的用户窗体 下一步是将所需的代码添加到该窗体。该代码放置在事件过程中,并在用户执行某些操作时自动执行(在这种情况下,单击命令按钮时)。

    11.1K30

    《深入浅出WPF》——模板学习

    界面元素间的沟通依靠路由事件来完成,有时候路由事件和附加事件也会加入到数据的传输中。让我们思考一个问题:WPF作为Windows程序的表示方式,它究竟在表示什么?...这个UserControl由一个Monster类型实例在背后支持,当设置这个实例的时候,界面元素将实例的属性值显示在各个控件里。...,所以确定按钮是不可用状态)按钮便进入了控件的模板编辑状态。...; } ~~~~ 运行程序并单击按钮,效果如下: ~~~~ 接下来我们来寻找由DataTemplate生成的控件。...属性时,如果某一列使用TextBox作为CellTemplate,那么即使这列中的TextBox被鼠标单击并获得了焦点ListView也不会把此项作为自己的SelectedItem。

    5K10

    【愚公系列】2023年12月 GDI+绘图专题 图形图像编程基础

    画图方法都被包括在Graphics类中,在画任何对象(例如:Circle,Rectangle)时,我们首先要创建一个Graphics类实例,这个实例相当于建立了一块画布,有了画布才可以用各种画图方法进行绘图...使用画笔时,需要先实例化一个画笔对象,主要有以下几种方法。...4.Brush类 Brush类是一个抽象的基类,因此它不能被实例化,我们总是用它的派生类进行实例化一个画刷对象,当我们对图形内部进行填充操作时就会用到画刷。...(3)运行后单击【打开图像】按钮,弹出一个“打开文件”对话框,选择图象文件名,运行结果如 2.图像的保存 保存图像的步骤如下: (1)当使用按钮和保存对话框保存文件时,加入保存按钮和PictureBox...只有窗体或者UserControl这类的最上层的Windows界面才具有Load事件。

    88412

    使用C#开发数据库应用程序

    (最小化),默认值为Normal b.窗体的重要事件 事件: Load 窗体加载事件,窗体加载时发生 MoseClick 鼠标单击事件,当用户单击窗体时发生 MouseDoubleClick...Text 与文本框相关联的文本 (3)按钮【Button】 属性 Text 按钮上显示的文本 TextAlign 按钮上文本的对齐方式 事件 Click 单击按钮时发生 (4)单选按钮...【RadioButton】 属性 Checked 指示单选按钮是否以选中 Text 单选按钮显示的文本 事件 Click 单击单选按钮时发生 (5)列表框【ListBox】 属性...设置图像和文本的显示方式,包括显示文本、图像、文本和图像或什么都不显示 Image 按钮/标签上显示图片 Text 按钮/标签上显示的文本 事件 Click 单击按钮/标签时,触发该事件...显示在菜单项上的文本 事件 Click 单击事件,单击菜单项时发生 7-4:综合实例 详细请查看P185页 a.查询数据综合实例 (1)创建查询学员用户窗体SearchStudentForm

    5.9K30

    使用Unity3D的设计思想实现一个简单的C#赛车游戏场景

    组件(Component)是用来绑定到游戏对象(Game Object)上的一组相关属性。本质上每个组件是一个类的实例。...Delegates中的委托为事件实例,并提供执行事件的公有方法。   ...  (1)设计BaseComponent类,它是各个游戏组件的基类,实现了IComponent接口,并定义了Start方法(该方法只会在开始时被执行一次)。...则负责将图片属性进行渲染到窗体界面中,UserControl则负责实现玩家控制赛车的上下左右移动。...这里以UserControl组件为例,通过重写KeyDown和KeyUp两个事件完成对玩家小车方向的控制(通过改变x,y两个滑动值,然后再窗体中通过定时器迅速地更新坐标值,最后重绘整个窗体界面,只不过刷新地频率很快

    1.7K30

    X--名称空间详解

    注意: X:Name的作用有两个: (1)告诉编译器,当一个标签带有x:Name时,除了为这个标 这个还真不能确定!签生成实例还要给这个标签声明一个引用变量,变量名就是x:Name的值。...在编程的时候,有的时候需要用一个程序集里的一个窗体元素访问到另一个程序集的窗体元素,那么就需要使用x:FieldModifier来改变变量的访问级别!...一般情况下,我们在编程中操作的数据类型实例或者实例的引用。但有的时候我们也需要用到数据类型本身。...UserWindowType="{x:Type local:Window1}"   编译并运行程序,单击主窗体上的按钮,自定义窗口就会显示出来,我们还可以多写几个窗体来扩展这个程序,到时后只需要修改...WPF把包含数据的对象称为数据源,用于把数据源中的数据提供给数据使用者的对象被称做是数据提供者,WPF中包含多种数据提供者,其中一个类名叫做XmlDataProvider实例,那么XmlDataProvider

    1.4K20

    Delphi入门教程

    包含了按钮、标签、文本编辑框、组合列表、复选框、选项卡等多种部件 1.4.1.3 基本windows操作 1.鼠标单击操作 2.鼠标双击操作:在Windows系统的资源管理器中常用此操作来打开文档和执行应用程序...在利用Delphi进行程序开发时,常常用到下面一些概念。 1.类(Class):面向对象的基础,对一具体事物、概念的抽象。...Delphi中定义的类一般均以大写字母”T”开头,如窗体TForm 2.组件(Component):Delphi常规应用程序开发的基础,类似于积木的作用。实际上是一个完成一定功能的类。...3.对象(Object):在面向对象的程序设计中,对象是类的实例。...例如当按钮被单击时,可以通过编写一个事件处理程序打开一个对话框。

    7.3K20

    C# WPF MVVM项目实战(进阶①)

    这篇文章还是在之前用Caliburn.Micro搭建好的框架上继续做的开发,今天主要是增加了一个用户窗体TestFormView,然后通过TabControl,将新增的窗体加载到主界面上进行分页显示,新增的页面引用了...01 — 重要的知识点 本篇内容基于CM框架编写,涉及以下知识点: ① 将UserControl添加到主窗体: 首先在主窗体viewmodel中定义UserControl public TestFormViewModel...TestFormView { get; set; } 然后在构造函数中实例化: TestFormView = new TestFormViewModel(); 最后在主窗体XMAL中附加引用:...Placement ="Right" FontSize="40" Foreground="Red"> 按钮...ToolTipService.Placement="Right"//工具提示相对原控件打开时的方向,并指定工具提示在与屏幕边界重叠时的行为。

    2K20
    领券