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

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

Form.Show方法,Show方法后面的代码会立即执行 2.调用Form.ShowDialog方法,直到关闭对话框,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击“关闭”按钮会隐藏窗体...实际上是把窗体的Visible属性赋值为false,隐藏窗体了 这样隐藏的窗体是可以重新显示,而不用创建该对话框的新实例 因为未关闭窗体,所以应用程序不再需要该窗体时,请调用该窗体的Dispose...例如,如果Form2归窗体Form1所有,则关闭或最小化Form1时,Form2也会关闭或最小化。...f1.Form1Value = 222; 5.通过窗体的公有属性值和Application.OpenForms属性 说明:Application.OpenForms属性:获取属于应用程序的打开窗体的集合...(此属性 .NET Framework2.0版中) 实现代码如下: 在窗体Form1中 public int Form1Value = 1; Form2 f2 = new Form2 ( )

1.8K41
您找到你想要的搜索结果了吗?
是的
没有找到

C#.Net前台线程与后台线程的区别

Form1窗口,立刻点击Button按钮弹出Form2窗口,此时Form2窗口中的线程已经启动了, //操作1:立刻关闭Form1窗口(主线程),此时不会出现任何的错误消息,同时资源管理器中...//操作2:此时关闭Form2窗口,大概等待3秒,程序会出现崩溃的消息,其原因是因为Form2窗口中的线程有操作UI的代码,而此时的Form2窗口已经关闭了(窗体对象已经释放) } 补充说明...Form1窗口,立刻点击Button按钮弹出Form2窗口,此时Form2窗口中的线程已经启动了, //操作(1):立刻关闭Form1窗口(主线程),大概等待3秒,程序会出现崩溃的消息...//操作(2):此时关闭Form2窗口,现象和上面一样。...)加上这句的话),则上面的两个操作可以资源管理器中看到线程ThreadDemo一直存在进程中。

1.3K10

C#学习笔记——窗口停靠控件WeifenLuo.WinFormsUI.Docking使用

(4)点击Form1,工具箱,可以看到工具箱里多出了WinFormsUI组件和主题组件,如果没有,关闭Form1,右键工程重新生成,再打开Form1。...Theme为vS2015BlueTheme1 (6)工程添加一个新的windows窗体Form2,更改Form2 : Form 继承为 Form2 : DockContent (7) Form1的构造函数里添加测试代码如下...2.选中Form1窗体选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--->>右键--->>选择项--->>浏览--->>weiFenLuo.winFormsUI.Docking.dll...【2】设置Form1Form2的HideOnClose属性为True,表示关闭窗体时,不是真的关闭销毁资源,而是隐藏。..._form1 = new Form1(); private Form2 _form2 = new Form2(); 【4】添加2个子菜单的Click事件,用于显示窗体Form1Form2

5.6K50

分享一个用WinForm写的常用小工具箱,平常工作事半功倍!

随着开发经验的提升,每个程序员都会有几个自己用的顺手的小工具,就像是一个个兵器一样,之前的工具都是web版本的,但是随着网络、设备、团队是否方便使用以及数据安全等多个方面的考虑,决定把平时的小工具慢慢放到本地电脑上...这个思路认为很有意思,如果有这类需求的小伙伴,可以讨论。有人说为啥不直接用AI,因为这里涉及到安全问题,题目不能放到公网上,除非自己公司搭建了一套AI模型,那就没问题了。...form1 = new Form1(); form1.FormClosed += FormMain_FormClosed; // 注册子窗体的关闭事件处理程序 // 隐藏当前的 Form...form2 = new Form2(); form2.FormClosed += FormMain_FormClosed; // 注册子窗体的关闭事件处理程序 // 隐藏当前的...会有很多dll文件,这样不仅看着麻烦,也不方便分享给团队成员,那很简单,只需要一个工具,就可以把依赖打包到一起: Install-Package Costura.Fody 就是这个工具,当前项目添加好

25110

windows mobile窗口之间传递数据的方法

windows mobile上设计UI的时候,经常会碰到多个窗口的情况。有时候,我们需要将一个窗口中的用户输入信息反应到另一个窗口中去,这就涉及到窗口之间的数据传递问题。...a) 使用构造器传递数据    使用构造器可以向一个新窗体传递初始值,如在主窗体Form1的基础上创建Form2,我们就可以Form2的构造函数中,接收一个初始的值,显示在对应的label中,代码如下...m_txtUserName.Text = defaultUser;          }    Form1中,我们可以使用如下的方法来创建Form2: Code               ...中,显示Form2之前,为其属性赋值,并且在对话框关闭之后,读取该属性的值,从而完成数据的传递。...中,除了需要创建显示Form2之外,还要为Form2的对象添加一个事件处理方法,代码如下: Code               Form2 f = new Form2("guest");

1.3K90

关于DialogResult

大家好,又见面了,是你们的朋友全栈君。 程序中,经常会弹出一个对话框来让用户填写一些信息,填写完成,当用户点击“确定”按钮主窗体中进行其他的处理。...只要用户一点击“确定”按钮,那么对话框就关闭,重新回到主窗体,然后可以主窗体中进行相应的处理,比如把数据写入数据库等。...现在有一个问题就是,“增加用户”的窗体如下: 如果想判断一下,用户输入的邮件格式是否正确,那么该把这段代码放在哪呢?...以上为转的,解释的很好 ————————————————————————————– 实验的: form1中写button事件: Form2 f2 = new Form2();...可以使用此属性确定对话框是如何关闭的,以便正确处理该对话框中执行的操作。

98410

表单怎么关不掉?揭密VFP对象引用的魔术

比如,现在我们有一个表单form1,表单上有一个页框pageframe1,页框的第一页上有一个表格grid1,现在,要把第一列的标题设置为“第一列”,把背景色设置为灰色,正常情况下,我们不得不输入长长的对象层次如...继续使用前面的例子,不过要把上述代码中的Local改为Public,然后把这些代码放入到表单的Init方法中去,运行这个表单关闭它,看看发生了什么。   “表单关不掉了!是不是死机了?...你可以打开调试器来看看究竟发生了什么事:Local窗口里,表单的变量名还在,它的类型为“O”,可它的值已经为“.NULL.”,也就是说:表单事实上已经被释放了。...原因:任何在表单中建立的Public变量表单释放时都不会自动被释放。   由于我们将oColumn对象声明为Public了,所以oColumn对象关闭表单没有被释放。   ...你可以使用这个方法轻松地表单间传递多个数据,而且由于可以直接在被调用表单中修改对象引用的数据,你甚至不需要返回任何参数——想想难以从一个表单返回数组的情况、从一个用CreateObject(表单类)的方法建立的表单中无法返回参数的情况

1.5K10

如何在多线程中调用winform窗体控件

于是调试器中运行应用程序时,如果创建某控件的线程之外的其他线程试图调用该控件,则调试器会引发一个 InvalidOperationException  本文用一个很简单的示例来讲解这个问题(在窗体上放一个...TextBox和一个Button,点击Button新建的线程中设置TextBox的值) 解决办法一: 关闭该异常检测的方式来避免异常的出现 经过测试发现此种方法虽然避免了异常的抛出,但是并不能保证程序运行结果的正确性...using System.Windows.Forms; using System.Threading; namespace winformTest {     public partial class Form1...System.Drawing; using System.Text; using System.Windows.Forms; namespace winformTest {     public partial class Form2... : Form     {         public Form2()         {             InitializeComponent();         }

2.2K100

.net中的认证(authentication)与授权(authorization)

用Membership/Role做过asp.net开发的朋友们,看到这二个接口的定义,应该会觉得很眼熟,想想我们Asp.Net页面中是如何判断用户是否登录以及角色的?...这二个接口同样也能用在Winform程序中,下面将创建一个WinForm应用,里面有二个窗口:Form1以及Form2,可以把Form1当成登录界面,而Form2则是程序主窗口,很多管理软件中,主窗口都要求登录以后才能访问...,我们就来模拟一下: Form1的界面: Form2更简单:(就一个只读的TextBox) 想做的事情:Form1上登录,看看在Form2中,能否判断出用户已经登录,以及识别出身份。...这里有一个关键的细节: Thread.CurrentPrincipal = _principal;//将其附加到当前线程的CurrentPrincipal Form1中,将登录的_principal...但是好象还有点问题:并没有识别出身份!(即login.aspx.cs中代码指定的"管理员,会员"角色) 静下心来想想问题出在哪里?

1.6K100

1-3 Winform 中的常用控件(

} 问题讨论:使用Application.Exit()还是Form.Close()呢?...案例学习:标签控件的隐藏,窗口打开关闭 本次实验目标是建立两个窗体,当点击图1-11的登录系统时候,可以打开另一个窗体,点击文字打开显示学校名称,点击文字隐藏时候隐藏学校名称。...通过本案例使读者快速掌握窗体的打开关闭技巧,以及标签的隐藏方法。 ?...再建立Form2窗体,以便在点击“登录系统”可以将之打开。 u 实验步骤(2): 用鼠标双击“登录系统”超链接文本,进入.cs文件编辑状态准备进行开发。...Form2 newForm = new Form2();//实例化Form2窗体,命名为newForm             newForm.Show();//将实例化的窗体打开

2.7K10

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

软件管理中下载phpmyadmin 4、打开数据库建立数据表 打开首页的数据库工具(选择phpmyadmin) 输入账号密码登陆进去(默认root root 这里因为改过所以我的是...这里我们通过可视化工具进行设计,新建一个窗口为FORM1这是设计出来的样子 更换窗口图标方法 现在更换左上角图标,首先打开我们需要用的icon网站,生成后下载转换文件保存到本地 对窗体右键属性更换默认图标...,我们先用假数据显示,后面再通过前端完成借阅操作) 4、设计用户控件 ①打开【解决方案资源管理器】项目中右键【添加】 【用户控件】 ②然后修改下窗体大小和之前的一样,这样切换过程中就不会感觉框的变化...5、绑定主页面实现跳转(从Form2) 实现图: ①首先打开Form2的视图,双击【钥匙借阅登记】按钮 ②双击本页面添加代码 在窗体部分输入: public UserControl4...答:通过表单传值获取到的id进行数据库语句删除,删除本地的再删除数据库里面的 窗口如何传值: 本次通过构造函数,特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 目标窗体中 int

22730

不使用反射,“一行代码”实现Web、WinForm窗体表单数据的填充、收集、清除,和到数据库的CRUD

实战篇:     按照这个方法,PDF.NET开发框架中实现了本文标题说的功能,最近还做了一个简单的例子,大家可以去开源项目网站下载:     项目网址: http://pwmis.codeplex.com...这是拖放,添加PDF.NET Windows 数据控件成功的工具箱样子。 3,添加数据窗体     我们主窗体上放置几个按钮和一个网格控件,以便增、删、改、查询数据: ?    ...然后我们再新建立一个窗体 Form2 ,在上面放置几个我们需要的表单控件设置好我们需要保存的表名称和对应的字段名称: ?...,表单窗体(Form2)的数据变化(新增、修改),可以立即反应到主窗体(Form1)上,而不用主窗体去重新加载数据,这里就必须用到数据绑定集合: private BindingList...增加数据,新窗体中录入数据 ? 单击按钮保存数据,主窗体列表中自动增加一行数据 ? 新窗口先不关闭,修改下消费金额,确定,发现主窗口列表的数据被同步修改了。

2.7K80

1-3 Winform 中的常用控件(3

从根本上说对话框是继承窗体的并且被模式化的,对话框窗口(Dialog)更多的是从人机交互形式来看的,电脑给出提示所需参数等待用户输入,使用者输入数据执行,犹如一问一答的对话双方。...另一方面,由于MessageBox.show()方法未进行绑定,它所显示的各个窗口、对话框是可以相互切换,而不需要关闭当前窗口和对话框。...因此我们可以认为,每个由show方法打开的窗口的顺序是非固定的,如果遇到什么问题,由show方法打开的窗口的顺序可能会有很大的改变。...,"问询提示",MessageBoxButtons.YesNo); //  1、DialogResult属性用于获取或设置MessageBox.Show()方法返回的一个值,该值单击按钮时返回到父窗体...showDialog()是模式窗体,与show方法的主要区别在于以showDialog()打开的窗体,要等当前窗体关闭才能操作其他窗体,而show()方法则不受此限制。

2.4K10

C#之委托如此简单

急切的回答道:这很简单,不就是委托的事嘛。那你来一个示例啊:朋友道。此为这篇博客的起因,所以此篇博客对于有c#开发经验的伙伴们那是小菜一喋。...一、对委托的理解 委托:同一个功能,可以根据不同的场景委托给不同的方法具体执行; 举个栗子:某位美食爱好妹子,通常自己做美食;找到男票,就男票做美食;换男票,就第二任男票做美食。...二、代码实现 上面的示例如何用代码实现,这里就不展示了(真的很简单)。...下面我们换一个稍有难度和实际应用的示例,需求说明:主窗体显示一个列表,子窗体增加数据(不关闭子窗体的情况下),主窗体列表自动更新,且第二个子窗体打开,窗体内的列表也要同时更新。...事件的订阅与取消订阅,一般情况下可以关闭窗体时取消订阅 三、回顾 1. 事件依赖委托,事件可以订阅和取消订阅,其订阅就是为事件增加委托。 2.

58710

VUE Cookbook 系列:实现可配置组合表单

本文作者:IMWeb FairyEver 原文出处:IMWeb社区 未经同意,禁止转载 本案例将会讲解如何使用 vue.js + ElementUI 开发一个简单的 可配置组合表单 Demo。...然后我们页面组件上注册这个表单区块: components: { // 注册组件 Form1: () => import('....这样不管我们 `./components/Form/` 下写了多少单文件组件,webpack 都会自动帮我们引入通过我们的代码注册到页面中。...大量组件注册的问题解决了,接下来我们还要一个需要优化的问题: 不管是 Form1 还是 Form2 还是 FormN,大家会发现其实代码里有一些重复内容,还有一些是有逻辑关系的重复内容,下面我们通过写一个...true } } } } ``` 这个 js 文件导出了一个函数,该函数接收一个 form 参数,并将这个参数赋值给 value prop 以及 data 中的 form 字段返回一个对象

93130

VUE Cookbook 系列:实现可配置组合表单

可配置组合表单 本案例将会讲解如何使用 vue.js + ElementUI 开发一个简单的 可配置组合表单 Demo。 ? 示例源代码 github 操作演示(GIF 较大): ?...然后我们页面组件上注册这个表单区块: components: { // 注册组件 Form1: () => import('....这样不管我们 ./components/Form/ 下写了多少单文件组件,webpack 都会自动帮我们引入通过我们的代码注册到页面中。...大量组件注册的问题解决了,接下来我们还要一个需要优化的问题: 不管是 Form1 还是 Form2 还是 FormN,大家会发现其实代码里有一些重复内容,还有一些是有逻辑关系的重复内容,下面我们通过写一个...immediate: true } } } } 这个 js 文件导出了一个函数,该函数接收一个 form 参数,并将这个参数赋值给 value prop 以及 data 中的 form 字段返回一个对象

1.2K20
领券