我试图像这样放一个很酷的小图片
对于我的拆分容器拖动按钮。
我在OnPaint Event中执行以下操作
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个像素。
答案 0 :(得分:9)
是的,根据您的评论,SplitterPanel
内TableLayoutPanel
确实会使运行时忘记 SplitterWidth
设置,所以我确实复制了问题。 TableLayoutPanels
是奇怪的生物。
不幸的是,显而易见的解决办法:
public Form1() {
InitializeComponent();
splitContainer1.SplitterWidth = 15;
}
答案 1 :(得分:0)
当容器控件嵌套到设计器中的其他容器控件中时,必须先将嵌套控件拖放到窗体上。
例如,如果要在设计时嵌套splitContaner1(child)和panel1(parent),则必须首先将splitContaner1(嵌套)拖放到窗体上。在那个父面板1之后。最后必须将splitContaner1移动到panel1。