Tag: winforms

C#窗口形成2个带有同步滚动的网格视图

我正在开发一个应用程序,其中从不同的数据源填充两个datagridviews。 我想有一个垂直滚动条,可以使两个网格视图同时工作(一起向上和向下滚动) 任何人都可以告诉我如何或指导我一个好的教程。

.NET Windows窗体应用程序更新自身的最佳方法是什么?

我使用自行开发的系统,应用程序通过Web服务自行更新。 但是,我似乎记得在最初的.NET销售宣传中有关自动更新组件的东西,这些组件是.NET的内置function。 有一个应用程序更新本身和/或它使用的程序集的最佳实践是什么?

避免在C#winform的键盘快捷方式上发出警报

我正在使用Visual Studio 2012在C#中创建Winform应用程序的键盘快捷方式。我的快捷方式非常完美。 但它会发出恼人的哔哔声。 我添加了e.Handled = true; 和e.SuppressKeyPress = true; 根据许multithreading。 但它不起作用,我的winform卡住了。 我怎么能避免这个? private void textBoxSearch_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Down) { do stuff } else if (e.KeyCode == Keys.Enter) { //do stuff } e.Handled = true; e.SuppressKeyPress = true; } 我也需要一个解决方案。 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if […]

WinForms图表:设置最小Y轴显示范围

我有一个Winforms图表,其中我有温度读数到达并显示每秒。 我喜欢图表自动处理值显示的方式,但我想改变一件简单的事情 。 我想增加最小显示的y轴范围,因此它显示的范围为20.目前它只显示在5左右。我尝试了一些事情: //(when new data arrives…) //Does not work, I think because by default, Size is always NaN? if (chart1.ChartAreas[0].AxisY.ScaleView.Size < 20) { chart1.ChartAreas[0].AxisY.ScaleView.Size = 20; } 这些都不起作用: chart1.ChartAreas[0].AxisY.ScaleView.SmallScrollMinSize = 20; chart1.ChartAreas[0].AxisY.ScaleView.SmallScrollSize = 20; chart1.ChartAreas[0].AxisY.ScaleView.MinSize = 20; chart1.ChartAreas[0].AxisY.Minimum //doesn’t seem to have any effect chart1.ChartAreas[0].AxisY.Maximum //doesn’t seem to have any effect 我确定我错过了一些简单的事情。 无论如何我希望我有。

C#make winform readonly radioButton看起来像标准

简单的问题。 如果我在winform项目中设置了radiobutton,则只读它的外观(字体颜色)变为浅灰色。 当我将其enabled属性设置为false时,相同 如何创建一个看似普通的只读无线电按钮? 因为你几乎看不到它。 谢谢

在System.Windows.Forms.DataGrid中双击单元格时,不会触发MouseDoubleClick事件

我需要处理在ReadOnly DataGrid中双击单元格时(不幸的是不是DataGridView),但是没有触发MouseDoubleClick事件。 如何让事件发生火灾? 我正在创建DataGrid并订阅该事件: var table = new DataTable(); table.Columns.Add(“foo”); table.Rows.Add(new object[] { “foo” }); table.Rows.Add(new object[] { “foo” }); dataGrid1.DataSource = table; dataGrid1.MouseDoubleClick += DataGrid1_MouseDoubleClick; dataGrid1.ReadOnly = true; 只有当我双击单元格之间的边界时才会发生此事件。 当我单击一个单元格时,会出现一个ReadOnly文本框,它似乎吃掉了第二次单击事件: 我在专家交流中找到了一个旧线程 ,他们在那里说了很多: 好吧,不仅在单击一个单元格时没有捕获双击事件,它还没有被datagrid消息队列捕获。 我inheritance了一个数据网格并覆盖了wndproc,检查我是否能检测到双击。 它捕获单击消息,但没有WM_LBUTTONDBLCLK消息通过。 我怀疑MS具有子单元格控件(请参阅DataGridColumnStyle类和派生类)挂钩网格控件并防止消息甚至继续到网格。 试图预先挂钩那个孩子或网格可能会产生相当混乱的结果,所以我避免这样做。 我真的不需要TextBox控件,所以如果有办法抑制单元格“激活”或显示它,那对我来说这也是一个很好的解决方案。 注意:我知道DataGrid已经过时,但我正在处理遗留代码,请不要评论告诉我使用DataGridView – 它对我没有帮助。

如何从TextBox中删除重复项?

我有一个文本框,每个项目都在一个新行上。 我试图从这个textBox中删除重复项。 我什么都想不到。 我尝试将每个项目添加到数组并删除重复项,但它不起作用。 还有其他选择吗?

以编程方式取消选中datagridview中的checkboxcolumn

如何以编程方式取消选中datagridview中DataGridViewCheckboxColumn中的所有行? 我可以使用复选框获取正确的值 (bool)row.Cells[CheckBoxColumn.Index].FormattedValue 但那只是一个吸气剂。 我已经尝试使用设置单元格的值 (bool)row.Cells[CheckBoxColumn.Index].value = false 但这不会影响FormattedValue。 我怎么解决这个问题?

TextFormatFlags枚举中EndEllipsis和WordEllipsis之间的区别是什么?

根据我对文档的理解,当使用TextFormatFlags.EndEllipsis ,应该修剪文本以适合显示矩形并用省略号替换: EndEllipsis | 删除修剪线的末尾,并用省略号替换它们。 使用TextFormatFlags.WordEllipsis ,应将文本修剪为适合显示矩形内的最后一个单词,并添加省略号: WordEllipsis | 将线条修剪为最近的单词,并在修剪线的末尾放置省略号。 但是,我似乎无法找到这两者之间的任何区别。 这是我的测试控件的代码: public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); this.Text = “This it my text. It’s long enough to get cut in display.”; } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); var flags = (this.IsWordEllipsis) ? TextFormatFlags.WordEllipsis : TextFormatFlags.EndEllipsis; TextRenderer.DrawText(e.Graphics, this.Text, […]

从WebBrowser控件在横向模式下打印?

System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser(); wb.DocumentStream = new FileStream(“C:\a.html”, FileMode.Open, FileAccess.Read); while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } wb.Print(); 我知道如何从PrinterDocument对象设置页面方向,但不知道如何从WebBrowser对象设置页面方向。 有什么办法吗? 谢谢!