winforms - 如何防止状态栏覆盖我的 RichTextBox?
问题描述
那里!我正在创建一个类似记事本的程序(更高级),但有些事情困扰着我......
Notepad++和Notepad位于Status Bar
RichTextBox/TextBox 边框下方。从字面上看就在它下面。
我Status Bar
在我的表单上添加了一个控件(Lines、Line、Column、FileSize...),但我仍然无法让它留在 RichTextBox 下,这样它就不会阻止用户查看文本。
例如...
我有一个 RichTextBox,用户将一个巨大的文件加载到其中。它们向下滚动到最底部,最后一两行被Status Bar
.
我希望它保持在 RichTextBox 下方,这样它就不会阻挡用户的视线。这看起来很草率,会导致我的客户要求退款。
解决方案
当将控件停靠在容器内时,停靠控件相对于另一个控件的优先级使用它们的 z 顺序进行调节。具有较高优先级(z 顺序中较低位置)的控件在布局中优先于具有较低优先级(z 顺序中较高位置)的控件。
另请参阅Control.Dock属性 的备注部分。
要分配更高的优先级,请右键单击停靠的控件并选择SendToBack
。代之以
选择较低的优先级。BringToFront
在这种特定情况下,未停靠的 RichTextBox 被StatusBar 控件(不是 StatusStrip,z 顺序分配给这两个控件的方式略有不同)遮蔽,默认情况下停靠在底部。
一种解决方案是停靠 RichTextBox 控件,通过右键单击它并选择BringToFront
.
在 StatusBar 控件上重复该操作,在这种情况下选择SendToBack
。这将导致 StatusBar 占据其 Form 容器的整个底部,而 RichTextBox 控件占据剩余空间。
这两个控件不再重叠,并且在调整窗体大小时不会影响布局。
推荐阅读
- c++ - 传递可变参数时在成员初始化器列表中进行强制转换
- javascript - 同一阵列中的 OSM 标记和折线
- c# - 在派生接口中隐藏接口成员
- sql-server - Datareader 到 Datasource OK,但 Datagridview 只显示 1 行
- python - 获取动态生成的图片
- spring-cloud-stream - spring cloud stream 3.0 存在生产者问题
- wordpress - 我使用 SQL 查询添加 woocommerce 产品类别。但我认为蛞蝓在那里并不完美,因为它得到了 404
- button - 按下按钮时如何在一个标签中显示两个事件
- java - 根据匹配 ID 检索单条记录
- python - 结合不同语言的覆盖率报告