c# - Windows.Forms SplitContainer.SplitterWidth 不会在运行时保持设置

标签 c# .net winforms

我想放一张像这样很酷的小图

one of these guys

对于我的拆分容器拖动按钮。

我在 OnPaint 事件中执行以下操作

private void splitContainer1_Paint(object sender, PaintEventArgs e)
    {
        var control = sender as SplitContainer;            

        e.Graphics.DrawImage("...".Properties.Resources.divider, control.SplitterRectangle, 0, 0, 1040, 50, GraphicsUnit.Pixel);

    } 

它确实按照我的意愿绘制图像,问题是高度始终为 4 像素。 在设计器中,我将 SplitterWidth 设置为 15,但在运行时它始终保持在 4。因此,实际上只显示 4 个像素。

最佳答案

是的,根据您的评论,将 SplitterPanel 放在 TableLayoutPanel 中确实会使运行时忘记 SplitterWidth 设置,所以我确实重复了这个问题。 TableLayoutPanels 是一种奇怪的生物。

不幸的是,明显的解决方法:

public Form1() {
  InitializeComponent();
  splitContainer1.SplitterWidth = 15;
}

关于c# - Windows.Forms SplitContainer.SplitterWidth 不会在运行时保持设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814412/

相关文章:

c# - 用于数据采集的快速响应式 GridView?

c# Winform Controls to VSTO Excel Addin 如何取回值(value)。

c# - Visual Studio 调试、跳转到方法末尾或调用方法

c# - Silverlight 单元测试

c# - 读取对象属性时忽略 NullReferenceException

.net - 如何在托管 C++/CLI 项目中修复 CA2123(覆盖链接需求应与基本相同)

.net - 不应该直接调用垃圾收集器的原因

c# - 条形码扫描事件捕获文本

c# - 当我的用户点击小键盘 Enter 键时,如何发送单个 Downkey 键?

c# - 如何从 webBrowser 控件中的当前选定选项获取 innerText