首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

窗口结束不断循环的线程

当你打开一个子窗体,进行某项操作时,如果字窗体中有循环操作时。...(); this.Close(); } 从查MSDN和从网上查资料可以知道,Dispose()方法,虽然能释放当前窗体的资源,却不能强制结束循环, 要想强制突出当前程序要用:System.Environment.Exit...(强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出) 2.Environment.Exit(0): 调用此方法,应用程序即强制退出。...主消息泵结束依然存在的任何窗口都需要手动关闭。在应用程序退出之前通过调用 Form.Close Form.Dispose 来关闭窗口是清除窗口的良好做法,但这需要您有意识地去做。...另外,如果您使用 form.Close(),通过处理 OnClosing OnClosed 事件,就可以让您的应用程序清理内容、关闭文件等。

1.5K41

Excel催化剂开源第8波-VSTO开发之异步调用方法

使用场景 在Excel上直接使用异步方法,貌似有上述提及的问题,不像Winform程序那样,需要Excel上调出窗体,再从窗体上作异步方法的操作,直接调用的话,遇到用户用键盘、鼠标交互Excel操作会报错...Excel催化剂中有些操作与外部资源交互特别是外部网络访问时,若不使用异步方法,将会卡界面,用户感觉死机了一样。 使用异步方法,可以有一些状态信息反馈给用户知道程序还在运行,是十分有必要的。...先按钮打开一个窗体,具体代码如下: private void btnBatchDownLoadFile_Click(object sender, RibbonControlEventArgs...srcFilePath); await webClient.DownloadFileTaskAsync(uri, dstFilePath); 若代码需要重新访问窗体控件...关闭窗体,也需要重新用委托的方式来关闭。

61820

Excel催化剂开源第44波-窗体在Show模式下受Excel操作影响变为最小化解决方式

在Excel催化剂的许多功能中,都会开发窗体用于给用户更友好的交互使用,但有一个问题,困扰许久,在窗体上运行某些代码,中途弹出下MessageBox对话框给用户做一些简单的提示交互时,发现程序运行结束...这个问题带来非常不好的用户体验,弄到最后,都不太敢向用户发出MessageBox对话框之类的提示,或者干脆使用ShowDialog的模式显示,总之非常不爽。...最近,尝试着一个简单的处理,程序结束,通过先Hide隐藏窗体,再重新Show显示窗体,没想到就这么简单的处理,竟然成功达到预期效果,窗体就算中途有MessageBox,有选择Excel单元格区域等操作...,窗体仍然显示最前方。...} this.Hide(); this.Show(); } 结语 有时,一个简单的处理,就能带上一个非常大的体验改善,此篇应该是开源分享最简单的

27510

Wallpaper的原理和C#实现(含源文件)

查找句柄 现在需要查找背景窗体的句柄,使用窗口查看器发现背景窗体没有窗体名称,因此无法直接定位,但是我们知道它的类名是WorkW,它的父窗体是Program Manager,所以我们可以遍历所有WorkW...如果遇到上面这种情况,可以使用MicrosoftSpy来查找背景窗体,并根据具体情况改写上面的代码。...sender, FormClosingEventArgs e) { e.Cancel = true; this.Hide(); } 给窗体加上NotifyIcon控件,该控件可以显示任务栏角标...当然也包括图片,但是你需要设置MediaPlayer的循环播放,否则图片显示几秒就会变成纯黑壁纸。...源代码 https://dearx.lanzoui.com/iiP4frxcm4d EXE文件 https://dearx.lanzoui.com/iIPmWrxcn6b EXE文件链接打开是一个压缩包

1.9K10

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

随着开发经验的提升,每个程序员都会有几个自己用的顺手的小工具,就像是一个个兵器一样,之前我的工具都是web版本的,但是随着网络、设备、团队是否方便使用以及数据安全等多个方面的考虑,我决定把平时的小工具慢慢放到本地电脑上...FormMain mainForm = new FormMain(); mainForm.Show(); // 隐藏当前的子窗体 this.Hide();...// 隐藏当前的 Form this.Hide(); // 显示第一个 Form form1.Show(); } private void button2...// 隐藏当前的 Form this.Hide(); // 显示第一个 Form form2.Show(); } // 其他窗口类似 // ......会有很多dll文件,这样不仅看着麻烦,也不方便分享给团队成员,那很简单,只需要一个工具,就可以把依赖打包到一起: Install-Package Costura.Fody 就是这个工具,当前项目添加好

17010

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

注意:在新的优化界面中我将该部分窗体重新放到了用户控件中去了,通过panel完成跳转交互,优化用户体验,如果需要更改优化的同学,可以看优化部分(2022/06/14修改) ---- 添加用户...,然后对图中阴影部分右键【编辑列】 编辑列在添加id、学生姓名、宿舍号、借出时间、是否归还 设计好如下图 5、绑定主页面实现跳转(从Form2) 实现图: ①首先打开Form2...的视图,双击【钥匙借阅登记】按钮 ②双击在本页面添加代码 在窗体部分输入: public UserControl4 f4; //钥匙借阅登记 在窗体加载处输入: f4 = new UserControl4...(); //钥匙借阅登记 添加如图所示: 在【钥匙借阅登记】按钮处添加 f4.Show(); //将窗体一进行显示 panel2.Controls.Clear...(); //清空原容器上的控件 panel2.Controls.Add(f4); //将窗体一加入容器panel2 添加如图所示: 编译运行代码成功截图:

20430

#利用DialogResult属性实现主程序的打开当前窗口的关闭

利用DialogResult属性实现主程序的打开当前窗口的关闭 首先介绍一下非模式化窗体show()和模式化窗体showdialog()的概念: 两种方法都能打开显示窗体, 1.非模式化窗体show...()建立新窗口仍能对原窗口进行操作,比如点击frm窗口上的“登录”按钮,会弹出FrmMain窗口,弹出仍能对原窗口frm进行操作(移动,点击登录按钮等操作) 2.模式化窗体showdialog()...建立新窗口FrmMain在关闭本窗口前不能对原窗口frm进行任何操作,除非FrmMain窗口被关闭。...this.DialogResult = DialogResult.OK; this.Close(); //关闭当前窗口 } 在主程序...当前模式窗体的dialogresult属性被设置为ok。

1.2K20

浅谈如何在C#Winform程序中正确使用登录窗体

看到很多朋友在CSDN中发帖放分求“如何实现登录验证正确弹出主窗体”的问题。...关于这个问题的实现方法,一般很多人都是使用在登录窗体点击“登录”按钮,通过后台数据验证正确,把登录窗体隐藏,然后载入主窗体。...还有一种做法是以上提问的这些人的一个不太对的一个实现办法(其实是无法实现的),他们的做法是点击“登录”按钮,调用this.close()方法去把登录窗体关闭,然后实例化主窗体            frmMain...dlg=new frmMain();            dlg.ShowDialog();          用以上代码想实现登录加载主窗体,你可以发现,当点击“登录”按钮,登录窗体确实是关闭了...那么我们如何能够实现验证登录信息正确加载主窗体呢?我的答案是通过验证返回参数去实现过程控制。

84210

1-3 Winform 中的常用控件(

一般而言,如果只有一个窗口或者是MDI(多文档窗体)里面的主窗口则是退出程序,Form.close()也是一种安全的方式,但如果是打开多个文档窗口的情况,退出系统必须使用Application.Exit...案例学习:标签控件的隐藏,窗口打开与关闭 本次实验目标是建立两个窗体,当点击图1-11的登录系统时候,可以打开另一个窗体,在点击文字打开显示学校名称,点击文字隐藏时候隐藏学校名称。...再建立Form2窗体,以便在点击“登录系统”可以将之打开。 u 实验步骤(2): 用鼠标双击“登录系统”超链接文本,进入.cs文件编辑状态准备进行开发。...Form2 newForm = new Form2();//实例化Form2窗体,命名为newForm             newForm.Show();//将实例化窗体打开            ...this.Hide();//当前的窗体隐藏     } 小实验:文字打开源代码: private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs

2.7K10

C#项目实战练习:做自己的QQ

主要涉及了以下内容: Form窗体关键属性、方法和事件的应用; 如何触发窗体和控件的时间; ListView控件和ImageList组件的结合使用; 数据库及数据表的建立与管理; 使用C#操作SQL server...记得在初次更改标识规范时,出现过无法更改的现象,这时需要在工具下拉菜单的选项中取消阻止保存要求重新创建表的更改复选框的对勾。...以100%缩放比例重启VS   创建的界面如下,可能窗口布局会不一样,这没有关系,不过较为显著的是本显示窗体缩放比例已设置为125%,使用100%缩放比例重新启动visual Studio 帮我决定提示...,这个要选择使用100%缩放比例重新启动Visual Studio,点击蓝色的超链接即可,否则的话在缩放比例为125%或者150%下设计的窗体,运行调试控件会错位。...,添加如下代码,实现注册窗体打开

7.1K20
领券