C# 动态文本框间距问题
我正在尝试在winforms应用程序中创建动态文本框。它正确创建的原因是没有正确间隔。我做错了什么C# 动态文本框间距问题,c#,winforms,C#,Winforms,我正在尝试在winforms应用程序中创建动态文本框。它正确创建的原因是没有正确间隔。我做错了什么 private void createTextBoxes() { int width = 69; int height = 20; int spacing = 32; TextBox[] subAmt = new TextBox[12]; for (int i = 0; i <= 11; ++i) { subAmt[i] = new TextBox();
private void createTextBoxes()
{
int width = 69;
int height = 20;
int spacing = 32;
TextBox[] subAmt = new TextBox[12];
for (int i = 0; i <= 11; ++i)
{
subAmt[i] = new TextBox();
subAmt[i].Size = new Size(width, height);
subAmt[i].Margin = new Padding(3);
subAmt[i].Location = new Point(279, (i * height) + spacing); // <-- this is should space it out but does not
subAmt[i].KeyPress += new KeyPressEventHandler(txtAmt_KeyPress);
plSubscription.Controls.Add(subAmt[i]);
}
}
private void createTextBox()
{
整数宽度=69;
整数高度=20;
整数间距=32;
TextBox[]subAmt=新的TextBox[12];
对于(inti=0;i我测试了你的代码,它运行正常。有什么问题吗
您不能在单线模式下更改文本框高度,并且在代码中,您将其设置为低于实际高度
使用以下命令:
int width = 69;
int height = 10;
int spacing = 0;
TextBox[] subAmt = new TextBox[12];
for (int i = 0; i <= 11; ++i)
{
subAmt[i] = new TextBox();
subAmt[i].Size = new Size(width, height);
// mycode
height = subAmt[i].Height;
// ***
subAmt[i].Margin = new Padding(3);
subAmt[i].Location = new Point(279, (i * height) + spacing); // <-- this is should space it out but does not
this.Controls.Add(subAmt[i]);
}
int-width=69;
整数高度=10;
整数间距=0;
TextBox[]subAmt=新的TextBox[12];
对于(int i=0;i我刚刚替换了您的createTextBox()
这些值:
int width = 69;
int height = 20;
int spacing = 32;
使用createCombo()
值:
int width = 79;
int height = 24;
int spacing = 28;
我得到了以下结果
你的代码运行得很好,请附上你想要的屏幕截图。我不确定是否可以附上屏幕截图,但问题是每个文本框之间没有间距,所以你希望每个文本框
都放在组合框前面?如果你不能附上屏幕截图,那么用简单的话解释一下你想要什么..看我的屏幕截图当你做这类事情时,st需要像组合框一样的间距。将其视为一个二维单元格数组,然后定位每个组件(基于水平和垂直对齐)在单元格内。也就是说,一行中的所有单元格都有相同的顶部和高度,一列中的所有单元格都有相同的宽度和左侧。请参阅我对@Shaharyarn的答复。我不确定是否理解您的意思,但会尝试。我甚至添加了PaddingStrange。我之前添加了PaddingStrange。它不起作用,现在可以了。谢谢
int width = 79;
int height = 24;
int spacing = 28;