01 前言 处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Prism提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行通讯...WPF MVVM项目实战(进阶①) C# WPF MVVM项目实战(进阶②) C# WPF框架Caliburn.Micro快速搭建 C# WPF项目实战 C# WPF mvvm模式下combobox绑定...(list、Dictionary) C# WPF MVVM模式下在主窗体显示子窗体并获取结果 C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面...C# WPF文本框TextEdit不以科学计数法显示 C# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号的使用...C# 无意间写了一段线程死锁的代码 C# 看懂这100+行代码,你就真正入门了(经典) C# WPF项目实战(经典) WPF 如何修改button圆角(经典) WPF XAML 为项目设置全局样式
window 操作系统中,处处是窗体 简单 强大 方便 灵活 步骤 新建项目 项目类型 visual C#项目 模板 window应用程序 用partial 将同一个窗体的代码分开放在两个文件中: 一个存放在...ComboBox Items:组合框中的项 DropDownStyle:组合框的风格 Text:组合框关联的文本 SelectedIndex:当前选中项的索引,从0开始 selectedItem:获取当前选定的项...按钮 Button Enable:控件是否可用 Text :显示文件 TextAlign:文本的对齐方式 Windows应用程序是事件驱动 事件驱动:随时响应用户触发的事件,做出相应的处理 我们需要做的...针对相关事件,编写相应的事件处理程序 编写事件处理程序的步骤 选中控件 在属性窗口中单击 找到事件 双击生成事件处理方法 编写处理代码 若事件事件处理方法未触发,请检查属性窗口中事件处理程序是否设置正确...窗体FROM load事件:窗体加载时触发 文本框 textbox: textchanged事件:文字改变时触发 按钮button click事件:单击触发触动 每个控件的事件非常多,我们只需要关注常用的事件即可
1-3.C#中的注释 C#的行注释和块注释与Java是完全相同的,分别使用//和/*..*/,但文档注释与java中的略有不同,使用"///",且文档注释的每一行都以"///"开头。...(最小化),默认值为Normal b.窗体的重要事件 事件: Load 窗体加载事件,窗体加载时发生 MoseClick 鼠标单击事件,当用户单击窗体时发生 MouseDoubleClick...鼠标双击事件,当用户双击窗体时发生 MouseMove 鼠标移动事件,当鼠标移过窗体时发生 KeyDown 键盘按下事件,在首次按下某个键时发生 KeyUp 键盘释放事件,在释放键时发生 例如...锚定的作用:设置控件对于窗体的摸个边缘的距离保持不变,也就是说窗体一起动态调整控件的大小,这是每个控件都有的属性。...MouseDoubleClick 鼠标双击事件 方法 Clear() 移除ListView中的所有项 b.ContextMenuStrip控件 菜单项(MenuItem)的主要属性和事件
01 前言 处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Caliburn提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行通讯...WPF MVVM项目实战(进阶①) C# WPF MVVM项目实战(进阶②) C# WPF框架Caliburn.Micro快速搭建 C# WPF项目实战 C# WPF mvvm模式下combobox绑定...(list、Dictionary) C# WPF MVVM模式下在主窗体显示子窗体并获取结果 C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面...C# WPF文本框TextEdit不以科学计数法显示 C# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号的使用...C# 无意间写了一段线程死锁的代码 C# 看懂这100+行代码,你就真正入门了(经典) C# WPF项目实战(经典) WPF 如何修改button圆角(经典) WPF XAML 为项目设置全局样式
,让开发人员能快速地构建 C# 应用程序 三、了解C#、.NET、Winform的关系 .NET 是一个开发平台,而 C# 是一种在 .NET 开发平台上使用的编程语言,目前能在 .NET 平台上使用的开发语言很多...C# WinForm 编程需要创建「Windows窗体应用程序」项目。.NET 提供了大量 Windows 风格的控件和事件,我们可以直接拿来使用,上手简单,开发快速。...2)通过工具箱中的label标签,button按钮,comboBox下拉按钮,直接在拖拽到窗体中;按钮的单击事件直接双击可以跳到对应的方法中进行代码编辑;还需要修改对应标签属性中的Name,方便后续的编辑...控件直接拖到 Windows 窗体中即可;如果需要指定图片和文字,可以通过属性中的DisplayStyle设置 9)DataGridView 在网格中可以用自定义数据的行和列 10)事件...可以通过属性中的Click指定不同按钮的相同事件 11)容器 在容器中可以放入需要的组件 12)属性 Anchor属性可以将内部容器窗体的拉伸大小随外部窗体的改变而改变
(5)Paint事件:该事件在重绘窗体时发生。 (6)Click事件:该事件在用户单击窗体时发生。 (7)DoubleClick事件:该事件在用户双击窗体时发生。...在WordWrap属性值为true时, 水平滚动条将不起作用 (8)SelectionLength属性:用来获取或设置文本框中选定的字符数。只能在代码中使用,值为0 时,表示未选中任何字符。...(14)WordWrap:用来指示多行文本框控件在输入的字符超过一行宽度时是否自动换行到下一行的开始,值为 true,表示自动换到下一行的开始,值为false表示不自动换到下一行的开始。...当用户双击包含默认项的子菜单后,默认项被选定,然后子菜单关闭。 (4)Enabled属性:用来获取或设置一个值,通过该值指示菜单项是否可用。...C#项目刚建立时只有一个名为Form1的窗体,要建立多窗体应用程序应首先为项目添加窗体,添加窗体的方法如下。
C# WinForm 编程需要创建「Windows窗体应用程序」项目。 l.NET 提供了大量 Windows 风格的控件和事件,我们可以直接拿来使用,上手简单,开发快速。...lWindows 窗体应用程序是 C# 语言中的一个重要应用,也是 C# 语言最常见的应用。这套 C# WinForm 教程将教会大家如何使用 WinForm 开发一个简单的应用。...使用 C# 语言编写的 Windows 应用程序与 Windows 操作系统的界面类似,每个界面都是由窗体构成的,并且能通过鼠标单击等操作完成相应的功能。...Windows 窗体应用程序 在 Windows 窗体应用程序中每个窗体都是由若干个控件构成的。 所谓控件就是人们常说的能输入文本的位置、能选择的位置、能单击的位置、图片显示的位置等。...l在 Windows 窗体应用程序中右击窗体,在弹出的右键菜单中 选择“属性”命令,弹出如下图所示的属性面板。
" ...> 将主窗体的WindowStyle设置成None即可 2、无边框窗体的移动 去掉顶上的边框后,通常为了美观,我们需要自己在顶上放一个伪造的标题栏,类似下面这样 <Border Grid.Row...3.最小化到系统托盘 Winform中的NotifyIcon控件在WPF中仍然可以继续使用 先 using System.Windows.Forms; 添加Windows.Forms命名空间的引用 再声明一个窗体级的变量...private readonly NotifyIcon notifyIcon; 最后在主窗体的构架函数中,加入下列这一段 notifyIcon = new NotifyIcon(); notifyIcon.BalloonTipText...,但是如果用户意外按了Alt+F4,甚至误操作注销或重启Windows,程序还是会直接退出的,最好能给个提示,这样管理员看到提示后,有机会取消误操作 先给主窗体增加Closing事件处理,主窗体构造函数中...,加入下面这一行 Closing += Window_Closing; Window_Closing事件如下: private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs
摘要: C#中的自定义控件中的属性(Property)、事件(Event)及一些相关特性(Attribute)的总结 今天学习了下C#用户控件开发添加自定义属性的事件,主要参考了MSDN,总结并实验了一些用于开发自定义属性和事件的特性...版本:Visual C# 2012 一、准备工作 1、建立一个C#窗体应用程序,主窗体起名为FormMain,向解决方案中再加入一个用户控件,起名为TestUserControl ?...UserControl),如果不添加这个属性,在编辑界面双击后进入的事件是Load事件。...指定默认属性后,当用户在Form里单击这个控件时,将在属性浏览窗口中自动选定该属性: [DefaultProperty("BtnName")] 2)Browsable:设置控件某一属性或事件是否出现在“...如果某属性或事件没有添加Browsable特性,那么该属性或事件也可以在“属性”窗口中看到。
除了像Winform那样在“Windows 窗体”上删除控件之外,WPF 还为应用程序开发提供了额外的功能改善,包括丰富的用户界面、动画等等。...XML 主要用于 Web 应用程序。 相比之下,XAML 用于设计 Windows 和其他 Web 应用程序的控件。 XAML 侧重于对象属性、定义以及它们之间的关系。...23.说出使用WPF而不是Windows窗体的一些优点使用 WPF 代替 Windows 窗体的优点: XAML 使更容易的创建和编辑 GUI,并允许在设计模式 (XAML) 和后台代码(C#、VB.NET...ICommand 在 MVVM 中经常使用,它提供了View和ViewModel(用户界面和业务逻辑)之间的分离逻辑。 XAML 提供了一种通过 ICommand 更好地绑定 GUI 事件的方法。...在实际运行应用程序之前加载 XAML 期间,将解析 StaticResource 并将其分配给属性。 它只会被分配一次,并且忽略对资源字典的任何更改。
少量代码设计一个登录界面 - .NET CORE(C#) WPF开发 阅读导航 本文背景 代码实现 本文参考 源码 1....解决方案主要文件目录组织结构: Login MainWindow.xaml.cs App.xaml MainWindow.xaml 2.1 App.xaml文件引入样式 文件【App.xaml】,在 StartupUri...登录窗体 文件【MainWindow.xaml】,设计登录主界面,代码量很小,源码如下: <Window x:Class="Login.MainWindow" xmlns="http:...】,关闭窗体、窗体移动等事件处理。...C# WPF开源控件库《MaterialDesignInXAML》 4.源码 演示代码已全部奉上,为了方便演示,代码中的图片使用本站外链,代码可直接拷贝并按代码结构组织编译即可运行。
XAML实时调试工具: XAML C# Edit & Continue 现在被称为 XAML Hot Reload (v16.2): 现在将 WPF / UWP 的 XAML C# Edit & Continue...应用内工具栏现已主题化 (v16.2): 现在,根据Visual Studio选定的主题颜色设置应用内工具栏的样式。 ?...尽管此功能最终将对所有 XAML 开发人员(WPF,UWP和Xamarin.Forms)都起作用,但新面板将使为那些构建WPF应用程序的客户更容易发现绑定失败。 ?...IntelliCode 支持C#,C ++,XAML等语言。...XAML Islands: 改进的 XAML孤岛 支持(v16.4): 我们增加了对 Windows 窗体和 WPF .NET Core 3 应用程序的 XAML孤岛 场景的支持,从而使向这些应用程序添加
打开一个新的 Visual C# .NET Windows 应用程序项目。 2. 添加 DataGrid 控件,将其 ReadOnly 属性设置为 True。 3....复制以下代码并将其粘贴到紧挨在静态的空 Main 方法之后,以使其作用范围为窗体级:private void LoadPage() { int i; int startRec;...双击 Fill Grid,打开 btnFillGrid 的代码窗口。...双击 Next Page,打开 btnNextPage 的代码窗口。...当您向临时 DataTable 对象中导入一行时,这只是一个副本,而您做的更改没有保存到主表中。
标签等,以便用户与应用程序交互。...通过向窗体添加控件,并使用事件处理程序来响应用户交互,可以创建功能强大的Windows桌面应用程序。...可以用来实现单击窗体时的操作。 DoubleClick事件:当用户双击窗体时触发。可以用来实现双击窗体时的操作。 Resize事件:当窗体大小改变时触发。可以用来实现窗体大小改变时的操作。...这些事件可以帮助程序员实现窗体交互操作和界面的动态展示,让应用程序更加灵活、生动、易用。...案例2:窗体事件 除了属性,窗体还支持许多事件,例如Loaded、Closed、Closing、StateChanged等。在WPF中,可以通过在XAML代码中添加事件处理程序来响应这些事件。
2.1 编辑工程文件双击工程文件WPFBlazorChat.csproj,修改处如下:在项目文件的顶部,将 SDK 更改为 Microsoft.NET.Sdk.Razor。...WindowState.Normal : WindowState.Maximized; }}代码简单,处理了窗体最小化、窗体最大化(还原)、关闭、标题栏双击窗体最大化(还原),上面的实现不是一个完美的自定义窗体实现...,注册了双击事件调用窗体最大化(还原)方法、鼠标按下与释放调用窗体的移动开始与结束方法;在第一个div里,其中有3个按钮,即窗体的控制按钮,调用窗体最小化、最大化(还原)、关闭方法调用;另有两个按钮,演示单击调用...再尝试把Tab移到标题栏,前面有提过的效果:上面的效果,代码修改如下,删除了原标题栏代码,将窗体操作按钮放到了MToolbar里面,并使用MToolbar添加了双击事件、鼠标按下、释放事件实现窗体拖动:...多窗体消息通知一般C/S窗体之间通信使用委托、事件,而在WPF开发中,可以使用一些框架提供的抽象事件订阅\发布组件,比如Prism的事件聚集器IEventAggregator,或MvvmLight的Messager
1、新建C#项目工程 首先选择新建Windows窗体应用(.NET Framework),然后选择项目保存位置,填写项目名称,这里因为我们不需要用git进行版本管理,所以不用新建GIT存储库; ...这里我们双击窗体界面,这也是VS的特性,双击一个控件,就会进入对应代码文件部分,这些代码全由VS在生成项目时自动生成,下面进行详细的解释: 1 /*filename:Form1.cs*/ 2 //使用命名空间...也是如此,在Program.cs文件中定义了Program类,该类中拥有主函数main( ), 在main函数中,第三行代码是一切的开始,调用Form1类的构造函数,创建一个Form对象,一切由此开始,...,有了很多的优越性,由传统的查询法耗费CPU一直在检测,变成了事件处理机制下的主动提醒告知,大幅度减轻CPU资源浪费,在事件处理机制中有以下几个概念: 事件源(EventSource):描述人机交互中事件的来源...在VS中很方便,只需要双击这个控件,VS就会自动将该控件的事件处理函数添加进Form1.cs文件,此处我先双击“Send”按钮,可以看到VS自动添加进了 private void button1_Click
最近在学习C#编程语言,接触到了winform,记得曾经在抖音上看到过这样一个小程序,觉得很有意思,就用C#语言实现了下,实现起来很简单(可以说没有任何技术含量)程序执行后效果如下。...视频演示 传送门 GIF动图演示 第一步:创建项目 创建windows窗体应用程序 更改项目名称和储存位置 选择合适的.NET框架 项目创建完成 第二步:设计窗体 通过左侧工具箱拖拽绘制窗口...添加控件 更改属性 图片加载方法 更改窗体属性 第三步:添加事件 添加[好呀]事件 双击[好呀]按钮,进入点击事件代码编辑区,添加如下代码。...选中[算了吧]按钮,点击右侧属性栏中的事件图标,在下面找到MouseEnter事件,双击MouseEnter事件添加如下代码。...,点击右侧属性栏上面的事件图标,在下面找到FormClosing事件,然后双击FormClosing事件添加如下代码。
最常见的事件用途是窗体编程,在Windows窗体应用程序和WPF应用程序中。 当在窗体中点击按钮,移动鼠标等事件时,相应的后台程序会收到通知,再执行代码。...而在冒泡事件中,sender不一定等于source。即发送者不一定是源。 下面我们用WPF来看看路由事件。 我们首先在XAML页面定义一个RadioButton按钮,然后设置他的模板是Button。...首先,存在即合理,事件一定有他存在的意义。 事件存在的意义 我对事件存在的意义是这样理解的。我们在C#编写框架时,几乎不用委托的多播,因为委托的多播和事件存在严重的二义性。...那么,事件和委托到底是什么关系呢? 事件与委托的确存在千丝万缕的关系,怎么讲都是正确的。但,C#开发者只需要记住,他们俩没关系即可。在C#事件是事件,委托是委托。...而且,在C#开发中,好的架构者也通常会将事件和委托分离,所以,就认为事件和委托没有关系即可。 结语 其实事件很好理解,一点不复杂。我在写这篇文章的过程中,也没想到什么特别的或者说比较高级的用法。
领取专属 10元无门槛券
手把手带您无忧上云