动态添加SplitContainer的问题

fxgang 2009-07-15 05:26:53
我的环境是Vs2008 Sp1 c#
项目为WINform类型

我使用如下的代码添加了一个SplitContainer
在类的开始做如下定义
private SplitContainer SceneSplit = new SplitContainer();
private PictureBox ScenePictureBox = new PictureBox();
private ListView SceneListView = new ListView();

然后定义一个功能函数
SceneSplit.Visible = true;

int lngLeft = (int)BaseLib.clsConst.intNum.nZero;
int lngTop = (int)BaseLib.clsConst.intNum.nZero;
int lngRight = (int)BaseLib.clsConst.intNum.nZero;
int lngBottom = (int)BaseLib.clsConst.intNum.nZero;
frmBar.GetClientRect(out lngLeft, out lngTop, out lngRight, out lngBottom);

SceneSplit.Left = lngLeft;
SceneSplit.Top = lngTop;
SceneSplit.Width = lngRight - lngLeft;
SceneSplit.Height = lngBottom - lngTop;

SceneSplit.Panel1.Controls.Clear();
SceneSplit.Panel2.Controls.Clear();

ScenePictureBox.Visible = true;
//ScenePictureBox.Top = 0;
//ScenePictureBox.Left = 0;
//ScenePictureBox.Height = SceneSplit.Panel2.Height;
//ScenePictureBox.Width = SceneSplit.Panel2.Width;
ScenePictureBox.Dock = DockStyle.Fill;
SceneSplit.Panel1.Controls.Add(ScenePictureBox);

SceneListView.Visible = true;
//SceneListView.Top = 0;
//SceneListView.Left = 0;
//SceneListView.Height = SceneSplit.Panel2.Height;
//SceneListView.Width = SceneSplit.Panel2.Width;
SceneListView.Dock = DockStyle.Fill;
SceneSplit.Panel2.Controls.Add(SceneListView);

//SceneSplit.Panel2.Width = 400;
//this.SceneSplit.Panel1.SuspendLayout();
//this.SceneSplit.Panel2.SuspendLayout();
//this.SceneSplit.SuspendLayout();

this.Controls.Add(SceneSplit);
//this.SceneSplit.SplitterMoved += new SplitterEventHandler(SceneSplit_SplitterMoved);
这是,这个SceneSplit是现实出来了,但是我却没有办法指定SceneSplit中panel2的宽度。当使用
SceneSplit.Panel2.Width = 400;
是整个panel2都不见了。请问如何指定这个宽度
...全文
120 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
LQknife 2009-07-15
  • 打赏
  • 举报
回复
SplitContainer 中每个panel的宽度是由splitdictince来控制的(不知道这个词拼没拼对)

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧