gpt4 book ai didi

C# 使用 dockstyle 并设置边距

转载 作者:太空狗 更新时间:2023-10-30 00:40:45 25 4
gpt4 key购买 nike

我正在尝试以我以编程方式创建的新形式插入几个对象;基本上我想要一个 Button 在底部和一个 RichTextBox 填充所有剩余空间。我将第一个设置为 Dock = DockStyle.Bottom,将后者设置为 Dock = DockStyle.Fill 并且它有效。

现在我试图在元素之间插入一个间距,所以我在表单中添加了一个填充,在按钮中添加了一个边距。第一个工作正常,但边距没有,所以 RichTextBoxButton 之间没有空格。

这是代码和输出。我错过了什么吗?

// Parent Form
SMSForm.Padding = new Padding(5);

// TextBox
RichTextBox SMStext = new RichTextBox();
SMSForm.Controls.Add(SMStext);
SMStext.Dock = DockStyle.Fill;

// Button
Button SMSsend = new Button();
SMSsend.Text = "Send SMS to ";
SMSForm.Controls.Add(SMSsend);
SMSsend.Margin = new Padding(10);
SMSsend.Dock = DockStyle.Bottom;

enter image description here

最佳答案

在停靠控件上设置 Margin 属性不会影响控件与其容器边缘的距离。

Read MSDN .使用表格布局面板

像这样

           RichTextBox SMStext = new RichTextBox();

TableLayoutPanel pnl1 = new TableLayoutPanel();
pnl1.RowStyles.Clear();
pnl1.ColumnStyles.Clear();
pnl1.RowCount += 2;
pnl1.ColumnCount += 1;
pnl1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100.0F));
pnl1.RowStyles.Add(new RowStyle(SizeType.Percent,80.0F));
pnl1.RowStyles.Add(new RowStyle(SizeType.Percent,20.0F));
pnl1.Controls.Add(SMStext,0,0);
SMStext.Dock = DockStyle.Fill;
Button SMSsend = new Button();
SMSsend.Text = "Send SMS to ";
this.Controls.Add(pnl1);
pnl1.Dock = DockStyle.Fill;
pnl1.Controls.Add(SMSsend,0,1);
SMSsend.Dock = DockStyle.Fill;
SMSsend.Margin = new Padding(10);

关于C# 使用 dockstyle 并设置边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24884037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com