【发布时间】:2015-04-04 01:29:52
【问题描述】:
我正在尝试制作一个文本编辑器,我有 2 个富文本框。我使用第一个富文本框作为数字,并将其 Enabled 属性设置为 false。然后第二个文本框在它旁边
我目前已将第一个文本框的停靠栏设置为左侧,将第二个文本框的停靠栏设置为填充。但是第二个一直占据整个标签页?并且稍微向左靠近数字线,它隐藏在那里一点点。这是我创建的新文档 void 我有... T2 是数字行,T 是他们将输入的默认文本框。
TabPage t = new TabPage("new " + getNumber());
tabControl1.TabPages.Add(t);
tabControl1.SelectedTab = t;
RichTextBox T2 = new RichTextBox();
t.Controls.Add(T2);
T2.Dock = DockStyle.Left;
T2.Enabled = false;
RichTextBox T = new RichTextBox();
t.Controls.Add(T);
T.Dock = DockStyle.Fill;
T.Font = new Font("Microsoft San Serif", 11);
Random R = new Random();
int RandomNumberHere = R.Next(1000, 100000);
T.Text = "Welcome, type your text...";
T.Select();
【问题讨论】:
-
winforms,对吗?
-
这个名字是真的吗?
-
Dock.Fill 填充。它没有填满其余的,而是填满了所有。要么使用锚点,要么编码你的调整大小事件。清楚你想要什么。你肯定没有告诉我们..
-
@TaW 这不是真的...
Dock.Fill填充可用空间减去其他停靠控件。你只需要一个特定的元素顺序(z-order)来实现你想要的。我认为这个问题非常具体,并且 OP 的做法是正确的(只是顺序不正确)。使用锚点或调整事件大小是错误的做法,如果之后表单发生变化,会造成极大的痛苦。 -
MSDN: 如果选择了填充,控件的所有四个边都会调整大小以匹配包含控件的边缘。 - 您的代码需要使用
BringToFront,这很明显表明 cotrols 不是并排放置而是重叠,对于 RTB 几乎没有用,imo .. 而不是 OP 想要的。他还没有告诉我们的是:当用户调整容器大小时会发生什么,即:大小将如何变化??
标签: c#