Tag: winforms

如何在Winforms中更改选项卡控件的背景颜色?

有没有办法在winforms中更改选项卡控件的背景颜色,以便它周围没有白色边框? 我尝试了几种不同的方法,但它们都会导致显示相同的白色边框。

WinFormsvalidation事件阻止Escape键关闭表单

我有一个带有单个TextBox的简单表单,以及OK和Cancel按钮。 Form的AcceptButton和CancelButton设置正确,OK和Cancel按钮的DialogResult设置为’OK’和’Cancel’。 我想在TextBox中添加validation,这将阻止用户在validation失败时对表单进行确认,但这也将允许它们像往常一样取消。 默认情况下,在所有控件上,CausesValidation属性为True,但我在取消按钮上将其更改为False。 果然,单击“确定”或按Enter键将运行我连接到TextBox的validation事件。 按取消按钮绕过validation,这是完美的。 但是,按Escape取消表单与按取消按钮的操作不同 – 它会引发Validating事件并阻止用户退出。 是否有任何方法可以使Escape键按预期执行,即不会引发Validating事件,就像按下Cancel按钮一样? 一个完整的解决方案是: 创建一个新的Windows窗体应用程序。 将第二个表单添加到项目中。 在InitializeComponent()之后将此代码粘贴到Form1的构造函数中: MessageBox.Show((new Form2()).ShowDialog().ToString()); 这显示了从我们的第二个表单传回的DialogResult。 在InitializeComponent()之后将此代码粘贴到Form2的构造函数中: TextBox txtName = new TextBox(); txtName.Validating += new CancelEventHandler((sender, e) => { if (txtName.Text.Length == 3) { MessageBox.Show(“Validation failed.”); e.Cancel = true; } }); Button btnOk = new Button { Text = “OK”, DialogResult = DialogResult.OK }; […]

仍然无法在WinForms应用程序中隐藏FlowLayoutPanel的水平滚动条

我无法隐藏FlowLayout面板的Horizo​​ntal Scroll-bar。 我正在动态添加此面板。 我已经阅读了以下3篇关于堆栈溢出的post。 但无法取得成功。 flowlayoutpanel和水平滚动条问题 如何在Panel中禁用水平滚动条 使用水平滚动条滚动面板 我试过以下代码。 TableLayoutPanel pannel = new TableLayoutPanel(); pannel.Parent = pnlChart; pannel.Dock = DockStyle.Fill; pannel.AutoScroll = true; pannel.HorizontalScroll.Visible = false;

C#Flow Layout面板换行符或换行符

我正在为Flow布局面板添加一些控件。 在某些控件之间我需要一个换行符。 我怎么能达到这个目的。 谢谢

如何根据鼠标位置从文本框中获取特定文本值

我有一个多行文本框,根据给出的数据显示一些值(通常每行一个值)。 (为了让工具提示弹出一些’替代’数据)我想得到鼠标hover在上面的字(或至少是这一行),这样我就可以找到显示的替代方法。 我有一些想法如何通过基于文本框和字体大小的计算来做到这一点,但我不知道要走这条路,因为大小和字体可能经常变化。 那么……有没有办法使用鼠标位置抓取特定的文本框文本?

从Windows中选择声音并播放它们

我有一个WinForms应用程序。 此应用程序有一个“首选项”部分,用户可以在显示警报时选择播放哪些声音。 是否有可能有一个combobox,用户可以从Windows存储的声音中选择,如“关键停止”,“关键哔”等。 这些可在“控制面板”>>“声音和警报”部分找到。 是否也可以有一个播放按钮来测试声音?

winforms listview没有在detailsview中显示项目

我被困了…. 这个我的代码将项目添加到我的listview: ListViewItem item = new ListViewItem(ProjectDomainName); item.Tag = relatedProject.ProjectId; lvwSelectedProjects.Items.Add(item); 当我选择’View.List’作为viewmode时,我会看到所有项目。 当我选择’View.Details’ (这是我想要的设置)时,我看到……没什么。 好吧,没什么,我得到一个垂直滚动条,但没有项目。 我也可以滚动,但没有项目…. 我还在listview中添加了一个列(没有更改添加项代码),但这也没有用 我一定是在忽视什么?

表格在C#中失去了焦点

这可能是一个简单的C#问题,但我需要一个解决方案。 我有两个表单, form1和form2 , form1有一个按钮 。 单击按钮,我想显示form2 。 当form2失去焦点时我想隐藏它( form2 )。 我怎样才能做到这一点? 我试图订阅form2的LostFocus事件,但它无法正常工作。 请帮我解决一下这个。 注意 – 我使用.Net 2.0

在VS 2010中的Winforms项目中添加WPF窗口

在VS 2010中选择“添加新项目”时,是否可以从winforms项目访问所有WPF项目? 我默认只能访问WPF userControl。 我想在winforms项目中添加一个WPF窗口。 不只是用户控件。 编辑:简答:这本身似乎不可能,但可以手动添加WPF资源和必要的参考。

为什么会覆盖.GetHashCode在WinForms中清除这些数据绑定值?

我们遇到了一个奇怪的错误,我们在调试时遇到了问题。 我们有一个使用Microsoft CAB,DevExpress组件和.Net 3.5的MDI工作区。 如果用户在工作区中打开两个窗口,每个窗口包含绑定到两个单独数据模型的UserControl ,则最小化它们,第一个最小化窗口是在第二个窗口最小化时清除它的绑定字段。 数据模型的.Equals和.GetHashCode方法已被覆盖,因此两个数据模型都被认为是相等的。 如果我们改变它以使它们是唯一的,我们就不会得到这种行为。 这是一些显示问题的示例伪代码 var a = new MyWindow(); a.DataModel = new SomeClass(123); a.ShowInMdiWorkspace(); var b = new MyWindow(); b.DataModel = new SomeClass(123); b.ShowInMdiWorksace(); a.Minimize(); // If SomeClass.GetHashCode() is overwritten to consider two objects // as equal based on the value passed in, then the data bindings for A // […]