标签: winforms

Windows窗体的UI设计模式(如WPF的MVVM)

MVVM最常用于WPF,因为它非常适合它.但是Windows Forms怎么样?对于Windows Forms,是否存在已建立且常用的方法/设计模式?一个与Windows Forms明确协作的一个?有没有一本书或一篇文章能够很好地描述这一点?也许MVP或MVC基于?

design-patterns winforms

152
推荐指数
5
解决办法
8万
查看次数

C#:如何将ToolTip添加到控件?

我有一些控件,我想ToolTip在鼠标悬停在它上面时显示.我怎样才能做到这一点?我想知道如何在代码中正确地执行此操作,但也在设计器中(ToolTip在工具箱中有一个组件,但我不完全......得到它).

如果这是重复的话,我不会感到惊讶,但我只能找到更高级,特定场景的问题.我想知道基础知识.

c# tooltip winforms

152
推荐指数
4
解决办法
17万
查看次数

制作WinForms TextBox的行为与浏览器的地址栏相似

当C#WinForms文本框获得焦点时,我希望它的行为类似于浏览器的地址栏.

要查看我的意思,请单击您的Web浏览器的地址栏.您会注意到以下行为:

  1. 如果文本框之前没有聚焦,则单击文本框应选择所有文本.
  2. 鼠标按下并在文本框中拖动应该只选择我用鼠标突出显示的文本.
  3. 如果文本框已经聚焦,则单击不会选择所有文本.
  4. 以编程方式或通过键盘选项卡聚焦文本框应选择所有文本.

我想在WinForms中做到这一点.

最快的枪声:请在回答之前阅读以下内容!多谢你们.:-)

在.Enter或.GotFocus事件期间调用.SelectAll()将不起作用,因为如果用户单击文本框,则插入符号将被放置在他单击的位置,从而取消选择所有文本.

在.Click事件期间调用.SelectAll()将不起作用,因为用户将无法使用鼠标选择任何文本; .SelectAll()调用将继续覆盖用户的文本选择.

在焦点/输入事件输入上调用BeginInvoke((Action)textbox.SelectAll)不起作用,因为它违反了上面的规则#2,它将继续覆盖用户对焦点的选择.

.net user-interface textbox winforms

151
推荐指数
4
解决办法
12万
查看次数

如何从TabControl隐藏TabPage

如何在WinForms 2.0中隐藏TabControl中的TabPage?

c# tabcontrol tabpage winforms

149
推荐指数
9
解决办法
28万
查看次数

如何禁用c#中组合框中元素的编辑?

我在ComboBox中有一些元素(带有C#的WinForms).我希望他们的内容是静态的,以便用户在运行应用程序时无法更改内部的值.我也不希望用户向ComboBox添加新值

c# combobox winforms

149
推荐指数
3
解决办法
14万
查看次数

Panel.Dock填充忽略其他Panel.Dock设置

如果在窗体上创建面板并将其设置为Dock = Top并放下另一个面板并设置其Dock = Fill,则可能会填充整个窗体,而忽略第一个面板.更改Tab键顺序不起作用.

.net c# visual-studio-2005 winforms

146
推荐指数
4
解决办法
9万
查看次数

如何在表单加载时将焦点放在TextBox上?

我在我的C#程序textBox中

我需要在程序启动时,焦点将放在textBox上

我在Form_Load上尝试这个:

MyTextBox.Focus();
Run Code Online (Sandbox Code Playgroud)

但它不会工作

c# winforms

146
推荐指数
8
解决办法
25万
查看次数

如何以编程方式向datagridview添加新行

如果添加行 DataTable

DataRow row = datatable1.NewRow();
row["column2"]="column2";
row["column6"]="column6";
datatable1.Rows.Add(row);
Run Code Online (Sandbox Code Playgroud)

怎么样DataGridView

c# datagridview row winforms

144
推荐指数
10
解决办法
72万
查看次数

如何编写自动扩展到系统字体和dpi设置的WinForms代码?

简介:有很多评论说"WinForms不能自动扩展到DPI /字体设置;切换到WPF".但是,我认为这是基于.NET 1.1; 看起来他们在.NET 2.0中实现自动扩展实际上做得非常好.至少基于我们迄今为止的研究和测试.但是,如果你们中的一些人知道的更好,我们很乐意听取你的意见.(请不要打扰我们应该切换到WPF ...现在不是一个选项.)

问题:

  • WinForms中的内容不能正确自动缩放,因此应该避免?

  • 编写WinForms代码时程序员应遵循哪些设计指南,以便自动扩展?

到目前为止我们已确定的设计指南:

请参阅下面的社区维基答案.

这些是不正确还是不充分?我们应采用的其他指导方针?是否还有其他需要避免的模式?对此的任何其他指导将非常感激.

.net c# fonts dpi winforms

138
推荐指数
7
解决办法
7万
查看次数

DateTimePicker:选择日期和时间

是否可以使用DateTimePicker(Winforms)来选择日期和时间(在下拉列表中)?如何更改所选值的自定义显示?此外,是否可以让用户手动输入日期/时间?

.net c# winforms

137
推荐指数
5
解决办法
23万
查看次数