Tag: windows forms designer

如何设置我的自定义控件的描述以显示在ToolBox中?

我想在设计时添加一个文本,告诉设计师我的控件在我的自定义控件中是什么。 就像这里的VS默认控件一样: 我已经尝试了///summary但它对我不起作用。 怎么做到呢?

Visual Studio颜色属性编辑器中的自定义调色板

在Visual Studio Designer中,在属性窗口下,您可以使用颜色选择器选择ForeColor , BackColor等。 当您想要选择颜色时,颜色选择器会出现“自定义,Web,系统”选项卡。 如果选择自定义,则可以向选择器添加新颜色,但只有底部2行可以更改,并且更改不会在控件之间保留。 因此,如果您向调色板添加颜色,当您选择另一个控件并想要更改例如BackColor您之前添加的颜色不存在。 有没有办法在设计师的颜色选择器控件中创建和导入一组自定义颜色? 注意:这个问题不是询问VS主题,或者是否可以在代码隐藏中将颜色实现为类。 我正在寻找一种定制设计师的方法。

如何控制面板内TextBox的焦点顺序?

我有一个包含许多TextBox的表单。 我需要一组内的一些TextBox,以及另一组内的其他文本框。 按组,我只需要一种方法来使这些TextBox看起来彼此属于。 我制作了两个面板并将TextBox添加到它们中。 然后,我在这些面板周围放置了一个边框。 但是,我的问题是,当我按Tab键时 ,焦点不会转到下一个TextBox,而是按随机顺序转到另一个TextBox。 有时下一个TextBox位于第一个Panel中,有时则位于第二个Panel中。 如何控制焦点顺序? 这是一张图片来说明我的观点:

在“属性”窗口中允许多行String属性

我有一个带有字符串属性的Windows窗体用户控件,用于设置文本框的文本。 这个字符串可以是多行的。 我注意到在一些带有文本属性的控件上,而不是强制键入单行属性文本框,你会弹出一个可以输入多行的地方。 (事实上​​,Windows窗体文本框控件允许在Text属性上使用它。) 如何在我设计的属性的属性窗口中启用此function? 以下不是我的应用程序中的真实代码,而是如何定义此类属性的示例 public string Instructions { get { return TextBox1.Text; } set { TextBox1.Text = value; } }

指定的命名连接在配置中找不到,不打算与EntityClient提供程序一起使用,或者无效

我在解决方案中有两个项目。 PizzaSoftware.Data PizzaSoftware.UI 在Data项目中,我有我的Entity Framework模型,它连接到我的数据库。 我的UI项目有一个项目引用数据,这里是它的样子: 我在UserControls文件夹中创建了一个用户控件。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using PizzaSoftware.Data; namespace PizzaSoftware.UI.UserControls { public partial class AutoCompleteTextBox : UserControl { AutoCompleteStringCollection completeCollection = new AutoCompleteStringCollection(); public AutoCompleteTextBox() { InitializeComponent(); } private void AutoCompleteTextBox_Load(object sender, EventArgs e) { CustomerRepository repo = […]

自定义DataGridView列在Designer中使用时重复

我制作了一个自定义的DataGridView组件,里面有一个标准的DataGridViewImageColumn。 当我不需要在特定表中输入时,新属性会更改列的可见性。 我在构造函数中添加列并在CellFormatting事件上更新它。 这是一个像预期一样工作的部分。 当我将控件放到新表单上时,它会显示新列。 运行程序会在网格中生成两个图像列。 一个新表单刚刚添加了组件并设置了Dock.Fill 当我开始它而不改变任何东西时,它显示了两列。 第一个是它应该工作,第二个总是显示丢失的x图像(没有数据,因此它们显示x)。 在表单的设计者中,会自动添加一个ne image列。 private CustomDataGridView customDataGridView1; private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn1; 当我继续在表单中进行编辑时,有时会发生VS创建更多相同列的副本。 要解决这个问题,我必须时不时地清除DGV.Columns列表。 如何防止VS复制我的字段? 以下代码是重现问题的最小部分。 public class CustomDataGridView : DataGridView { private DataGridViewImageColumn EditStatusIcons; private bool hasIcons = true; public bool HasIcons { get { return this.hasIcons; } set { if (this.Columns[“EditIcons”] == null) return; this.Columns[“EditIcons”].Visible = value; this.hasIcons […]

Windows窗体通用inheritance

我有这些课程: class Foo : Form where T1, T2 : EventArgs class MiddleGoo : Foo class Goo : MiddleGoo X,Y只是从EventArgs派生的简单类。 我在设计师中看到Goo,但我想在Foo和Goo之间创建一个类Boo,如下所示: class Boo : Foo where T1 : EventArgs class MiddleGoo : Boo class Goo : MiddleGoo 中产阶级的解决方法不起作用,任何想法? 编辑:我的意思是Y和X是像YEventArgs和XEventArgs这样的类,我的问题是当我将Y定义为T2但仍希望通过T1保持通用时,在设计器类Boo中查看。 EDIT2:我刚刚意识到我拼错了Y级的东西…… public class Foo : Form where T1 : EventArgs where T2 : EventArgs { } public […]

如何在Form中心设置FlowLayoutPanel内容

我在FlowLayoutPanel有一些Button控件,我想将它们精确地设置在Form中间底部。 在下面的图像中,我通过手动将FlowLayoutPanel填充设置为400,将Button精确地设置在中间位置。 但是当我尝试resize或恢复按钮时,由于手动设置填充,不再在中间。 每当我尝试调整它的大小时,我可以做什么来设置FlowLayoutPanel中间的按钮。 我正在按照这篇文章的答案基础动态添加和删除按钮。

将表单嵌入到窗体中的tabcontrol上

我在Windows窗体中有一个选项卡控件,我希望能够单击选项卡,在选项卡的正文区域中,我希望它显示另一个窗体作为嵌入式组件。 这可能吗? 如果是这样,有人可以提供一个示例或链接到如何完成此操作的示例?

如何创建一个可以删除其他控件的UserControl?

在WinForms中,我如何创建一个UserControl ,当我放入我的表单时,我可以通过从工具箱中拖动它们来添加其他控件,就像所有容器控件(面板,组框等)一样? 我试图通过将控件放在我的控件中来添加控件,但是当我移动控件时,我添加的控件保持在他们所在的位置,如果不是我的控制我将使用Panel (其他控件将会发生)与小组一起移动)。