Tag: winforms

如何获得ListView项的高度?

我有ListView,我需要确定项目高度。

隐藏一些datagridview复选框单元格

我有一个datagridview显示贷款的分期付款。 我创建了一个datagridviewcheckbox列,然后我可以选择我想要支付的所有分期付款。 这是datagrid的一个屏幕: 我的问题是我需要禁用付费插件的复选框。 在这种情况下,当“Restante”(剩下要支付的)是= 0 。 我读了一些他们使用paint事件的post没有显示复选框单元格,但我不喜欢那个解决方案。 我想隐藏了复选框单元格,但我不知道是否可以这样做。 多数民众赞成我尝试过: foreach (DataGridViewRow row in dgv_Cuotas.Rows) { if (Convert.ToDecimal(dgv_Cuotas.Rows[row.Index].Cells[17].Value) == 0) { dgv_Cuotas.Rows[row.Index].Cells[16].Visible = false; } } 显然这不起作用,我得到一个编译器错误消息,说该属性是只读的。 有人知道如何将复选框单元设置为不可见吗? 为了以防万一,我附加了DataGridViewCheckboxColumn创建代码: DataGridViewCheckBoxColumn chbox = new DataGridViewCheckBoxColumn(); { chbox.CellTemplate = new DataGridViewCheckBoxCell(); chbox.HeaderText = “”; chbox.Name = “Seleccionar”; chbox.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; chbox.FlatStyle = FlatStyle.Standard; } dgv_Cuotas.Columns.Insert(16, chbox); dgv_Cuotas.Columns[16].DisplayIndex […]

如何从不同的线程/类启用计时器

原帖: 如何从C#中的另一个类访问一个计时器 我尝试了一切。 -事件 -Invoke无法完成,因为Timers没有InvokeRequired属性。 – 公共/内部财产 没有任何工作,代码正在执行,timer.Enabled属性被设置为“true”,但它没有Tick.If我调用事件或只是在非静态方法中从表单类更改属性 – 它确实打勾和工作。 我从来不知道这会花费我一天时间,甚至可能更多地获得如何使用体面的计时器。 如果没有办法做到这一点,还有什么我可以使用的与计时器类似的工作(延迟,启用/禁用)?

c#Checkedlistbox Multicolumn

我在C#中有一个checkedlistbox控件。 我想知道将多列添加到其中的人。 multicolumn属性设置为true。 我只想知道添加2列的编码。 我的代码是 while (true) { data = SDK.GetNext(“ACCHISTL”, 6); document_details = data.Split(‘|’); if (document_details[0] == “0”) { if (document_details[3] == Document_nr) { lbLines.Items.su(document_details[4] + ” -> ” + document_details[14],true); } else { break; } } else { break; } } 你能帮助我告诉我这样做的正确方法吗?

c#中的keydown由于某种原因不起作用

我正在尝试做一个计算器,而我所要做的就是让它与键盘配合使用。 这应该有效,但事实并非如此。 private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.D1) { resultarea.Text = “fgdgd”; //number(1); } …. } 什么可能出错? 编辑:它仍然无法正常工作。 我想我也可以发布整个代码。 public partial class Form1 : Form { public Form1() { InitializeComponent(); KeyPreview = true; } double first = 0; double second = 0; string op = “”; bool last = true; […]

如何在C#中对齐控件和工具提示消息的右边缘

我想在TextBox下面显示一个ToolTip消息,但也希望它们是右对齐的。 我能够将ToolTip消息放在文本框的右边缘,所以我尝试按消息长度移动消息。 所以我尝试使用TextRenderer.MeasureText()来获取字符串长度,但是位置有点偏,如下所示。 private void button1_Click(object sender, EventArgs e) { ToolTip myToolTip = new ToolTip(); string test = “This is a test string.”; int textWidth = TextRenderer.MeasureText(test, SystemFonts.DefaultFont, textBox1.Size, TextFormatFlags.LeftAndRightPadding).Width; int toolTipTextPosition_X = textBox1.Size.Width – textWidth; myToolTip.Show(test, textBox1, toolTipTextPosition_X, textBox1.Size.Height); } 我尝试在MeasureText()函数中使用不同的标志,但它没有帮助,因为ToolTip消息有填充,我去了TextFormatFlags.LeftAndRightPadding 。 要清楚,这就是我想要实现的目标:

foreach控制c#跳过控件

我有以下循环来删除我的C#Windows窗体应用程序中的按钮。 唯一的问题是它会跳过其他所有按钮。 如何从表单中删除所有按钮控件? foreach (Control cntrl in Controls) { if(cntrl.GetType() == typeof(Button)) { Controls.Remove(cntrl); cntrl.Dispose(); } }

手动在datagridview上添加行

我在datagridview上插入了一个复选框列和文本框列。 如何在文本框列上手动添加行。 它应该是这样的: checkbox | textbox ………………………. checkbox | item1 checkbox | item2 checkbox | item3 checkbox | item4 以下是datagridview上复选框和文本框的代码 public void loadgrid() { DataGridViewCheckBoxColumn checkboxColumn = new DataGridViewCheckBoxColumn(); CheckBox chk = new CheckBox(); checkboxColumn.Width = 25; dataGridView1.Columns.Add(checkboxColumn); DataGridViewTextBoxColumn textboxcolumn = new DataGridViewTextBoxColumn(); TextBox txt = new TextBox(); textboxcolumn.Width = 150; dataGridView1.Columns.Add(textboxcolumn); }

具有Like子句示例的自动完成TextBox示例%hello%C#Windows

我正在使用TextBoxes的AutoComplete Suggest模式属性使其自动完成,我想用它来实现的是用户可以键入任何单词,它可以是整个字符串的一部分并基于它应该向我显示查找。 将TextBox AutoSuggest Source设置为Custom Source并将AutoSuggest模式设置为Suggest Mode,我只能获得以用户输入的单词开头的字符串的循环。 有没有一种方法我可以调整/覆盖这些属性的function,或者是否有任何其他选项可用。 我正在使用C# – WinForms

在datetimepicker winform中禁用某些日期c#

我需要在DateTimePicker中禁用一些日期,这可能吗? 例如,我有一个日期范围:{20/12/2014,2014年12月21日,2014年12月22日,2014年12月23日,2014年12月24日}我需要禁用midle one或者其他情况最后一个,有人可以帮助我吗? dateTimePicker1.MainDate和dateTimePicker1.MaxDate是不够的。 谢谢。