创建C#winform简单动态控件 private void CreateNewControl() { 列表=新列表(); TableLayoutPanel布局=新建TableLayoutPanel(); layout.Dock=DockStyle.Fill; this.Controls.Add(布局); layout.ColumnCount=3; layout.GrowStyle=TableLayoutPanelGrowStyle.AddRows; 对于(int i=0;i
//我想设置布局的列宽,以便在显示标签时,标签不会聚集在一起,并且看起来与显示复选框时完全相同。我该如何做?通常,我要做的是:创建C#winform简单动态控件 private void CreateNewControl() { 列表=新列表(); TableLayoutPanel布局=新建TableLayoutPanel(); layout.Dock=DockStyle.Fill; this.Controls.Add(布局); layout.ColumnCount=3; layout.GrowStyle=TableLayoutPanelGrowStyle.AddRows; 对于(int i=0;i,c#,winforms,C#,Winforms,//我想设置布局的列宽,以便在显示标签时,标签不会聚集在一起,并且看起来与显示复选框时完全相同。我该如何做?通常,我要做的是: 在“原型”项目中使用IDE,创建一个窗体,控件位于我想要的位置 查看IDE创建的源代码(在MyFormName.Designer.cs文件中),查看IDE生成哪些源代码来创建这些控件 在我的真实项目中创建我自己的表单,使用基于我从使用IDE创建的原型中学到的手工编码代码 一般来说,我所做的是: 在“原型”项目中使用IDE,创建一个窗体,控件位于我想要的位置 查看ID
- 在“原型”项目中使用IDE,创建一个窗体,控件位于我想要的位置
- 查看IDE创建的源代码(在MyFormName
文件中),查看IDE生成哪些源代码来创建这些控件.Designer.cs
- 在我的真实项目中创建我自己的表单,使用基于我从使用IDE创建的原型中学到的手工编码代码
- 在“原型”项目中使用IDE,创建一个窗体,控件位于我想要的位置
- 查看IDE创建的源代码(在MyFormName
文件中),查看IDE生成哪些源代码来创建这些控件.Designer.cs
- 在我的真实项目中创建我自己的表单,使用基于我从使用IDE创建的原型中学到的手工编码代码
//循环所有要添加的控件。
//添加一个整数字段,用于测量每个控件的最大宽度,如
int _iMaxWidth=0;
对于(int i=0;i\u iMaxWidth)
_iMaxWidth=控件[i]。宽度
}
//然后您将知道列的宽度和大小。
Col.Width=iMaxWidth+2;//+2使事情变得更美好。
//循环所有要添加的控件。
//添加一个整数字段,用于测量每个控件的最大宽度,如
int _iMaxWidth=0;
对于(int i=0;i\u iMaxWidth)
_iMaxWidth=控件[i]。宽度
}
//然后您将知道列的宽度和大小。
Col.Width=iMaxWidth+2;//+2使事情变得更美好。
private void CreateNewControl()
{
List<Control> list = new List<Control>();
TableLayoutPanel layout = new TableLayoutPanel();
layout.Dock = DockStyle.Fill;
this.Controls.Add(layout);
layout.ColumnCount = 3;
layout.GrowStyle = TableLayoutPanelGrowStyle.AddRows;
for (int i = 0; i < 9; i++)
{
if (wantedType == DevExpress.XtraEditors.CheckEdit)
{
CheckBox chk = new CheckBox();
chk.Tag = i;
layout.Controls.Add(chk);
layout.AutoScroll = true;
}
if (wantedType == LabelControl)
{
Label chk = new Label();
chk.Tag = i;
layout.Controls.Add(chk);
layout.AutoScroll = true;
}
// Loop through all the controls you want to add.
// Add a integer field that measures the highest width of each control like
int _iMaxWidth = 0;
for (int i=0; i < TotalControls.Count; ++i)
{
if ( control[i].Width > _iMaxWidth)
_iMaxWidth = control[i].Width
}
// Then you'll know what the width size of the column should be.
Col.Width = iMaxWidth + 2; // +2 to make things a little nicer.