草庐IT

c# - 如何重新启动 C# WinForm 应用程序?

开发C#.NET2.0WinForm应用程序。需要应用程序自行关闭并重新启动。Application.Restart();上述方法有proventobeunreliable.重启应用程序的更好方法是什么? 最佳答案 对我有用的更简单的方法是:Application.Restart();Environment.Exit(0);这会保留命令行参数并在事件处理程序通常会阻止应用程序关闭的情况下正常工作。Restart()调用尝试退出,无论如何启动一个新实例并返回。然后Exit()调用终止进程,而不给任何事件处理程序运行的机会。两个进程都在

c# - 我怎样才能在 WinForms 应用程序中捕获所有 'unhandled' 异常?

到目前为止,我只是在程序的Program.cs入口点中的Application.Run周围放置了一个try/catchblock。这在Debug模式下很好地捕获了所有异常,但是当我在没有Debug模式的情况下运行程序时,异常不再得到处理。我得到未处理的异常框。我不希望这样的事情发生。我希望在非Debug模式下运行时捕获所有异常。该程序有多个线程,最好是它们的所有异常都被同一个处理程序捕获;我想在数据库中记录异常。有人对如何执行此操作有任何建议吗? 最佳答案 看看ThreadExceptiondocumentation中的示例:pub

c# - 将 List<T> 绑定(bind)到 WinForm 中的 DataGridView

我有课classPerson{publicstringName{get;set;}publicstringSurname{get;set;}}和一个List我向其中添加了一些项目。列表绑定(bind)到我的DataGridView.Listpersons=newList();persons.Add(newPerson(){Name="Joe",Surname="Black"});persons.Add(newPerson(){Name="Misha",Surname="Kozlov"});myGrid.DataSource=persons;没有问题。myGrid显示两行,但是当我向我的

c# - 在 WinForms 设计器中显示控件层次结构

我们的一位客户有一个旧的WinForms应用程序,其中包含带有大量控件的表单。其中一些控件具有很深的层次结构,因此很难在设计器中选择它们。我需要了解此层次结构才能对应用程序进行修改以纠正一些错误。有没有办法清楚地看到这种层次结构?例如,当您在HTML层次结构(HTML>Body>div>等)中有一个面包屑时,是否有类似于.aspx源文件中可以看到的内容的可用内容?或者更直观的东西? 最佳答案 您需要使用文档大纲View>OtherWindows>DocumentOutline或者通过热键Ctl+ALT+T

c# - 在 WinForm 上禁用最小化和最大化?

WinForms在右上角有这三个框,用于最小化、最大化和关闭表单。我想要做的是删除最小化和最大化,同时保持关闭。我还有什么使关闭最小化表单而不是关闭它。如何做到这一点? 最佳答案 Form有两个属性,分别是MinimizeBox和MaximizeBox,将它们都设置为false。要停止窗体关闭,处理FormClosing事件,并在其中设置e.Cancel=true;,然后设置WindowState=FormWindowState。Minimized;,将表格最小化。 关于c#-在WinF

c# - 如何使用WinForms进度条?

我想显示在外部库中执行的计算进度。例如,如果我有一些计算方法,并且我想将它用于我的Form类中的100000个值,我可以这样写:publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidCaluculate(inti){doublepow=Math.Pow(i,i);}privatevoidbutton1_Click(objectsender,EventArgse){progressBar1.Maximum=100000;progressBar1.Step=1;for(intj=0;j我应该

c# - 在 C#/WinForms 中制作多语言应用程序的最佳实践?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我一直在研究如何在C#中制作适用于多种语言的应用程序,因为我需要处理一个适合这种情况的小项目。我发现基本上有两种方法可以做到这一点:将表单的Localizable属性设置为true,设置Language属性,填写所有标签等,然后您就“完成”了。我在这方面看到的主要缺点是:如何使不属于表单一部分的其他内容为多种语言做好准备(例如弹出窗口、日志文件或窗口等)

c# - 如何将分隔符添加到 WinForms 上下文菜单?

在我的控制范围内,我有:ContextMenu=newContextMenu();ContextMenu.MenuItems.Add(newMenuItem("&AddItem",onAddSpeaker));ContextMenu.MenuItems.Add(newMenuItem("&EditItem",onEditSpeaker));ContextMenu.MenuItems.Add(newMenuItem("&DeleteItem",onDeleteSpeaker));ContextMenu.MenuItems.Add(???);ContextMenu.MenuItems.Ad

c# - 如何让 WinForms 应用程序进入全屏模式

我有一个WinForms应用程序,我正在尝试全屏显示(有点像VS在全屏模式下所做的)。目前我正在将FormBorderStyle设置为None并将WindowState设置为Maximized这给了我更多的空间,但如果可见,它不会覆盖任务栏。我还需要做什么才能使用该空间?对于奖励积分,我可以做些什么来让我的MenuStrip自动隐藏以放弃那个空间吗? 最佳答案 对于基本问题,以下将解决问题(隐藏任务栏)privatevoidForm1_Load(objectsender,EventArgse){this.TopMost=true;t

c# - 如何使标签在 WinForms 中居中?

在WinForms中,我使用Label来显示不同的消息,如成功、失败等。我想将该标签置于中心窗体的中心。我想要一个解决方案,无论标签中只有一个词还是整个句子,它都能保持居中。 最佳答案 将Label的AutoSize属性设置为False,将TextAlign属性设置为MiddleCenter和Dock属性到Fill。 关于c#-如何使标签在WinForms中居中?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo