草庐IT

form_handler

全部标签

c# - Winforms:Application.Exit 与 Environment.Exit 与 Form.Close

以下是我们可以退出应用程序的方式:Environment.Exit(0)Application.Exit()Form.Close()这三种方法有什么区别,何时使用每种方法? 最佳答案 正确的方法是Application.Exit()。根据Documentation,它会终止所有消息循环并关闭所有窗口,从而使您的表单有可能执行其清理代码(在Form.OnClose等中)。Environment.Exit只会终止进程。如果某种形式有例如未保存的更改它不会有任何机会询问用户是否要保存它们。此外,资源(数据库连接等)无法正确释放,文件可能无

c# - 如何在 Form 的关闭事件中停止 BackgroundWorker?

我有一个生成BackgroundWorker的表单,它应该更新表单自己的文本框(在主线程上),因此Invoke((Action)(...));调用。如果在HandleClosingEvent中我只是执行bgWorker.CancelAsync()然后我在Invoke(...)上得到ObjectDisposedException打电话,可以理解。但是,如果我坐在HandleClosingEvent中等待bgWorker完成,那么.Invoke(...)永远不会返回,这也是可以理解的。关于如何在不出现异常或死锁的情况下关闭此应用程序有什么想法吗?下面是简单Form1类的3个相关方法:pub

c# - Application.Run() 和 Form.ShowDialog() 有什么区别?

在我的应用程序中,我想先显示一个登录表单,然后在登录成功时显示主表单。目前我正在做这样的事情:varA=newLoginForm();if(A.ShowDialog()==DialogResult.OK)Application.Run(newMainForm());但后来我开始怀疑-Application.Run()的意义何在?为什么不同时执行(newMainForm()).ShowDialog()呢?有什么不同?实现我想要的目标的正确方法是什么? 最佳答案 Application.Run(Form)在当前线程上启动消息循环并显示指

C# Form.Close 与 Form.Dispose

我是C#的新手,我试图查看之前的帖子,但没有找到好的答案。在具有单个窗体的C#Windows窗体应用程序中,使用Form.Close()还是使用Form.Dispose()更好?MSDN表示对象内的所有资源都已关闭,并且在调用Close时会释放表单。尽管如此,我还是在网上遇到了几个遵循Dispose而不是Close的示例。一个人比另一个人有优势吗?在哪些情况下我们应该更喜欢其中一种? 最佳答案 ThisMSDN上的论坛告诉你。Form.Close()sendstheproperWindowsmessagestoshutdownthe

c# - .NET - 实现 "catch all exceptions handler"的最佳方法是什么

我想知道最好的方法是“如果一切都失败了”。我的意思是,您在应用程序中处理尽可能多的异常,但仍然会有错误,所以我需要有一些东西捕获所有未处理的异常,以便我可以收集信息并存储将它们保存在数据库中或将它们提交给网络服务。AppDomain.CurrentDomain.UnhandledException事件是否捕获所有内容?即使应用程序是多线程的?旁注:WindowsVista公开了允许任何应用程序使用的nativeAPI函数在崩溃后自行恢复......现在想不出这个名字......但我宁愿不要使用它,因为我们的许多用户仍在使用WindowsXP。 最佳答案

c# - Xamarin.Form 的 LayoutOptions,尤其是 Fill 和 Expand 之间有什么区别?

在Xamarin.Forms中,每个View都有两个属性Horizo​​ntalOptions和VerticalOptions。两者都是LayoutOptions类型并且可以具有以下值之一:LayoutOptions.StartLayoutOptions.CenterLayoutOptions.EndLayoutOptions.FillLayoutOptions.StartAndExpandLayoutOptions.CenterAndExpandLayoutOptions.EndAndExpandLayoutOptions.FillAndExpand显然它控制View在父View上的

c# - 禁止调整 Windows Forms 窗体的大小

如何关闭用户调整WindowsForms窗体大小的功能?我让它在点击时自行调整大小。 最佳答案 看看FormBorderStylepropertyform1.FormBorderStyle=FormBorderStyle.FixedSingle;您可能还想删除最小化和最大化按钮:form1.MaximizeBox=false;form1.MinimizeBox=false; 关于c#-禁止调整WindowsForms窗体的大小,我们在StackOverflow上找到一个类似的问题:

jquery - JavaScript : how to change form action attribute value based on selection?

我正在尝试根据从下拉菜单中选择的值更改表单操作。基本上,HTML看起来像这样:SearchpeopleSearchcontentEnteryourkeywords:如果选择“people”(默认情况下),则操作应为“/search/user”,如果选择内容,则操作应为“/search/content”我还在四处寻找,但一直没能找到如何做到这一点。 最佳答案 $("#selectsearch").change(function(){varaction=$(this).val()=="people"?"user":"content";$

Javascript 选择 onchange ='this.form.submit()'

我有一个带有选择和一些文本输入的表单。我希望在更改选择时提交表单。使用以下方法效果很好:onchange="this.form.submit()"但是,如果表单还包含一个提交按钮,那么在更改选择时表单不会提交。我猜是某种冲突。我有哪些选择?我应该使用类似$(this.form).trigger("提交")相反? 最佳答案 你应该能够使用类似的东西:$('#selectElementId').change(function(){$(this).closest('form').trigger('submit');/*or:$('#for

javascript - Angular JS : Validate form fields before submit

我正在构建一个包含两步表单的AngularJS应用程序。它实际上只是一种形式,但使用JavaScript隐藏第一个面板并在用户单击“下一步”按钮并继续执行第2步时显示第二个面板。我在第1步中的某些字段上设置了“必需”验证,但显然,当用户单击“下一步”按钮时,它们不会得到验证...当在第2步结束时单击“提交”按钮时,它们会得到验证。有什么方法可以告诉Angular在单击“下一步”按钮时验证表单中的这些字段? 最佳答案 我建议使用子表单。AngularJS支持将一种形式放在另一种形式中,有效性从下层形式传播到上层形式;这里是例子:htt