如何防止状态栏覆盖我的RichTextBox ...? C#

时间:2019-10-19 05:00:03

标签: winforms windows-forms-designer

有!我正在创建一个类似记事本的程序(高级得多),有些东西困扰着我……

Notepad ++ Notepad Status Bar位于Richtextbox / textbox边框正下方。 在该文本下的所有权利。

我在表单上放置了Status Bar,并添加了控件(Lines,Line,Column,FileSize ...),但是我仍然无法将其保留在RichTextBox下,因此它不会阻止用户的文字视图。

对于示例...

我有一个Richtextbox,用户将一个大文件加载到其中。它们向下滚动到最底端,最后一两行被Status Bar

覆盖

我希望它保留在richtextbox下面,以免阻塞用户的视图。这似乎草率,将导致我的客户要求退款立即!

已获帮助! :)

1 个答案:

答案 0 :(得分:1)

将控件停靠在容器内时,停靠控件相对于另一个控件的优先级通过其z顺序进行调节。在布局中,具有较高优先级(z顺序中较低位置)的控件优先于具有较低优先级(z顺序中较高位置)的控件。

Controls' Docking Priority

另请参见Control.Dock属性的“备注”部分。

要分配更高的优先级,请右键单击停靠的控件,然后选择 SendToBack
优先级较低,而是选择 BringToFront

在此特定情况下,未固定的RichTextBox被StatusBar控件遮盖(不是StatusStrip,在将z顺序分配给这两个控件的方式上有一些区别)默认为“底部”。
一种解决方案是停靠RichTextBox控件,通过右键单击它并选择BringToFront来赋予它较低的优先级。
在StatusBar控件上重复该操作,在这种情况下选择SendToBack。这将导致StatusBar占据其Form容器的整个底部,而RichTextBox控件将占用剩余的空间。
调整窗体大小时,这两个控件不再重叠,并且布局不会受到影响。