Tag: winforms

如何在失去焦点后保持NumericUpDown的无效值?

在我的项目中有一个UserControl,它包含一个NumericUpDown ctrl,其有效值范围是10到100 , 所以如果用户在NumericUpDown ctrl中输入200,那么在焦点改变为其他ctrl后它的值会自动变为100,对于客户来说它看起来有点好奇,因为他们可能会在NumericUpDown ctrl中输入200之后点击OK按钮,需要一个消息框,告诉他们输入的值不在范围内。 但问题是,如果值输入超出其范围,NumericUpDown的值将在焦点更改后自动更改。 那么如何实现呢? Sameh Serag,这是我测试过的代码。 我在表单上添加了一个按钮,但什么也没做。 我的结果是在输入200并单击按钮后,只显示值为100的消息框。 输入200并按Tab键后,它只会显示一个值为200的消息框,并且NumericUpDown中的文本值更改为100.好奇:-)无论如何,非常感谢你的帮助! 顺便说一句,.Net框架版本是2.0,sp2对我来说。 public partial class Form1 : Form { private TextBox txt; public Form1() { InitializeComponent(); txt = (TextBox)numericUpDown1.Controls[1]; txt.Validating += new CancelEventHandler(txt_Validating); } void txt_Validating(object sender, CancelEventArgs e) { MessageBox.Show(txt.Text); } }

C#.NET 4.0中的慢速数据绑定设置时间

我有一个问题。 我有动态生成布局的Windows窗体应用程序,但我的性能有问题。 在这种forms中,我使用.NET 4.0 DataBinding和安装后的数据绑定工作正常,但他绑定了一个控件的设置时间阻止我的应用程序大约0.7秒。 我有一些控制和时间设置约2分钟 。 我尝试了所有可能的解决方案,没有写自我绑定类,我没有任何想法。 为什么我的代码有问题? case “Boolean”: { Binding b = new Binding(“Checked”, __bindingsource, __ep.Name); CheckBox cb = new CheckBox(); /* * HERE is the start of problem */ cb.DataBindings.Add(b); /* * HERE is the end of problem */ __flp.Controls.Add(cb); __bindingcontrol.AddBinding(b); break; } 没有问题代码行所有工作都很快,没有绑定;-(但我想要以正常速度打开绑定。 PS1。 我在世代时间暂停了布局。 PS2。 我有绑定TextBox’es的问题,PictureBoxe,CheckBox只是一个例子。 如何做到这一点或更多如何调试问题,vs2010分析器说只有问题是绑定,我知道。 System.Windows.Forms.Control.ControlCollection.Add(类System.Windows.Forms.Control) System.Windows.Forms.ControlBindingsCollection.Add(类System.Windows.Forms.Binding) […]

当第一个combobox获得某个值时自动更新combobox

我有两个combobox。 我在第一个combobox中插入一个值,现在我希望我的第二个combobox根据第一个combobox更新其值。 我该怎么做?

如何在C#中的WebBrowser控件中加载本地HTML页面

我有许多本地HTML页面。 我想在Web浏览器控件中显示这些本地HTML页面。 当我添加新页面时,它应该附加到上一页。 以下是设置Url的示例代码 for( int i=0; i<=filecount; i++) web-browser.Url = new Uri(filepath[i]); 但在运行时,它显示文件下载弹出,Web浏览器为空。

WinForms DataGridView – 更新数据库

我知道这是DataGridView的基本function,但由于某种原因,我无法让它工作。 我只希望Windows窗体上的DataGridView在用户单击“保存”按钮时将对其进行的任何更改提交到数据库。 我根据DropDownList中用户选择触发的函数填充DataGridView,如下所示: using (SqlConnection con = new SqlConnection(conString)) { con.Open(); SqlDataAdapter ruleTableDA = new SqlDataAdapter(“SELECT rule.fldFluteType AS [Flute], rule.fldKnife AS [Knife], rule.fldScore AS [Score], rule.fldLowKnife AS [Low Knife], rule.fldMatrixScore AS [Matrix Score], rule.fldMatrix AS [Matrix] FROM dbo.tblRuleTypes rule WHERE rule.fldMachine_ID = ‘1003’”, con); DataSet ruleTableDS = new DataSet(); ruleTableDA.Fill(ruleTableDS); RuleTable.DataSource = ruleTableDS.Tables[0]; } 在我的保存function中,我基本上有以下内容(我已经修剪了一些代码以便达到目的): […]

Winforms单击“事件未触发”

我有一个winforms应用程序。 我在这个应用程序中有几个表单(主表单和几个专门的表单),并且在一个表单上,单击事件不会触发我的任何按钮。 并不是处理程序中的代码被破坏了。 这可以通过单击按钮时永远不会到达处理程序第一行的断点来确定。 其他事件正在发挥作用(我正在使用此表单上的CheckedChanged事件并且它们正在运行)。 我的团队成员已经审核过,也无法发现问题。 这是我的代码的简化视图: Designer生成代码 partial class MyForm { private System.Windows.Forms.Button addButton; private void InitalizeComponent() { this.addButton = new System.Windows.Forms.Button(); this.addButton.Name = “addButton”; // Drawing statements here this.addButton.Click += new System.EventHandler(this.addButton_Click); this.Controls.Add(this.addButton); } } 我的代码 public partial class MyForm : Form { public MyForm() { InitializeComponent(); } private void addButton_Click(object sender, EventArgs […]

如何从流/字符串加载mht到WebBrowser控件?

如果我使用Navigate方法,WebBrowser控件正确加载任何mht文件,但是当我使用DocumentText或DocumentStream属性时, mht文件的源显示就像我在记事本中打开文件一样。 如果我将流写入临时文件然后导航到它,它可以正常工作,但我不想这样做。 这个问题似乎很常见,但我没有找到适合它的解决方案。 有人建议我应该通过实现IPersistMoniker com接口来欺骗IE,等等。 我已经尝试了一点,但不幸的是我得到了相同的结果。 可能是我做错了什么。 我仍然认为他们应该是一个更直接的解决方案(除了首先保存在临时文件中),任何想法?

TextBox自动完成和默认按钮

我在表单上有一个带有自动完成function的.NET TextBox。 表单还定义了AcceptButton和CancelButton。 如果我尝试使用Enter键提交建议或使用Esc关闭下拉菜单,我的表单将关闭。 我该如何防止这种行为?

获取监视器物理尺寸

可能重复: 如何确定.NET中Monitor的真实像素大小? 如何获得显示器尺寸我的意思是它的物理尺寸如何宽度和高度和对角线例如17英寸或什么 我试过,我不需要这个决议 using System.Management ; namespace testscreensize { class Program { static void Main(string[] args) { ManagementObjectSearcher searcher = new ManagementObjectSearcher(“\\root\\wmi”, “SELECT * FROM WmiMonitorBasicDisplayParams”); foreach (ManagementObject mo in searcher.Get()) { double width = (byte)mo[“MaxHorizontalImageSize”] / 2.54; double height = (byte)mo[“MaxVerticalImageSize”] / 2.54; double diagonal = Math.Sqrt(width * width + height * height); […]

TabControl C#中的图标 – 如何?

我似乎无法在任何地方找到答案。 默认tabcontrol选项卡上的标签前面的图标足以满足我的需要。 提前致谢。 问:你需要澄清你正在使用的库集:Winforms,WPF,ASP.Net,GTK#等 – Nathan Ernst A:你完全正确,我的错误。 我正在使用Winforms。 我从WPF切换回来,因为WPF在某些计算机上崩溃了。