Questions tagged «winforms»

WinForms是Windows Forms的非正式名称,Windows Forms是Microsoft .NET Framework和Mono中的GUI类库。此标签中的问题还应使用目标框架([.net]或[mono])进行标签,并且通常应使用编程语言标签进行标签。

11
BackgroundWorker vs背景线程
我对应该在Windows Form应用程序上使用的后台线程实现的选择有一个风格上的问题。目前,我BackgroundWorker在具有无限(while(true))循环的表单上。在此循环中,我用于WaitHandle.WaitAny保持线程休眠,直到发生感兴趣的事情为止。我等待的事件句柄之一是“ StopThread”事件,因此我可以跳出循环。从我重写时发出此事件信号Form.Dispose()。 我读过某个地方,该地方BackgroundWorker实际上是您不希望将UI与之捆绑在一起并具有有限结局的操作-例如下载文件或处理一系列项目。在这种情况下,“结束”是未知的,只有在关闭窗口时才知道。因此,对我而言,使用后台线程而不是BackgroundWorker为此目的更合适吗?

10
Windows窗体的UI设计模式(如WPF的MVVM)
MVVM最适合WPF使用,因为它非常适合。但是Windows窗体呢?Windows窗体是否也有这样的既定且常用的方法/设计模式?一种可以与Windows Forms完美配合的软件吗?有没有一本书或一篇文章对此进行了很好的描述?也许基于MVP或MVC?





6
如何将工具提示添加到控件?
ToolTip当鼠标悬停在鼠标上时,我有一些控件想要显示。我怎样才能做到这一点?我想知道如何在代码中以及在设计器中正确地做到这一点(ToolTip工具箱中有一个组件,但我不太了解。) 如果这是重复的,我不会感到惊讶,但是我只能找到在更高级的特定场景下遇到的问题。我想了解基本知识。
154 c#  winforms  tooltip 

30
使WinForms TextBox的行为类似于浏览器的地址栏
当C#WinForms文本框获得焦点时,我希望它的行为类似于浏览器的地址栏。 要了解我的意思,请在网络浏览器的地址栏中单击。您会注意到以下行为: 如果文本框以前未聚焦,则单击文本框应选择所有文本。 向下滑动并在文本框中拖动应只选择我用鼠标突出显示的文本。 如果文本框已经聚焦,则单击不会选择所有文本。 以编程方式或通过键盘制表键聚焦文本框应选择所有文本。 我想在WinForms中完全做到这一点。 最快的预警:请在回答之前阅读以下内容!多谢你们。:-) 在.Enter或.GotFocus事件期间调用.SelectAll()无效,因为如果用户单击文本框,则插入符号将放置在其单击位置,从而取消选择所有文本。 在.Click事件中调用.SelectAll()无效,因为用户将无法使用鼠标选择任何文本。.SelectAll()调用将继续覆盖用户的文本选择。 在焦点/进入事件enter上调用BeginInvoke((Action)textbox.SelectAll)无效,因为它违反了上面的规则2,它将继续覆盖用户对焦点的选择。

7
如何仅隐藏关闭(x)按钮?
我有一个模式对话框,并且需要隐藏“关闭(X)”按钮,但是我不能使用 ControlBox = false,因为我需要保留“最小化”和“最大化”按钮。 我只需要隐藏“关闭”按钮,有什么办法吗? 非常感谢! 更新:我有权禁用它,这很简单:)谢谢!
151 c#  winforms 



7
如何编写自动缩放为系统字体和dpi设置的WinForms代码?
简介:有很多评论说“ WinForms不能很好地自动缩放到DPI /字体设置;切换到WPF”。但是,我认为它基于.NET 1.1。看来他们实际上在.NET 2.0中实现自动缩放方面做得很好。至少根据我们到目前为止的研究和测试。但是,如果你们当中的一些人知道得更多,我们很乐意听到您的消息。(请不要打扰我们应该切换到WPF ...这不是当前的选择。) 问题: WinForms中的哪些内容不能正确自动缩放,因此应避免? 程序员在编写WinForms代码时应遵循哪些设计准则,以使其能够很好地自动缩放? 到目前为止,我们已经确定的设计准则: 请参阅下面的社区Wiki答案。 那些不正确或不足吗?我们还应该采用其他准则吗?还有其他需要避免的模式吗?任何其他对此的指导将不胜感激。
143 c#  .net  winforms  fonts  dpi 

7
如何在Windows窗体上显示GIF动画(C#)
我有一个显示进度消息的表格,它显示了相当长的过程。这是对Web服务的调用,因此我无法真正在进度条上有意义地显示完成百分比。(我不太喜欢进度条的Marquee属性) 我想展示一个动画GIF,以使该过程具有某种活动的感觉(例如,文件从一台计算机飞到另一台计算机,例如Windows复制过程)。 你怎么做到这一点?

7
从x到y的协变量数组转换可能会导致运行时异常
我有一个s()的private readonly列表。稍后,我将s 添加到此列表,并将这些标签添加到如下所示:LinkLabelIList<LinkLabel>LinkLabelFlowLayoutPanel foreach(var s in strings) { _list.Add(new LinkLabel{Text=s}); } flPanel.Controls.AddRange(_list.ToArray()); Resharper向我显示警告:Co-variant array conversion from LinkLabel[] to Control[] can cause run-time exception on write operation。 请帮我弄清楚: 这是什么意思? 这是一个用户控件,不会被多个对象访问以设置标签,因此,保持这样的代码不会影响它。

17
显示表格而不会失去焦点?
我正在使用一个表单来显示通知(它显示在屏幕的右下角),但是当我显示此表单时,它会从主表单中夺走焦点。有没有一种方法可以显示这种“通知”形式而又不会失去重点?
140 c#  .net  winforms 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.