自动滚动无法在WindowsForms C#中使用SplitContainer

时间:2014-11-05 14:12:47

标签: c# winforms

我有一个Windows窗体,其中包含一个SplitContainer控件。 SplitContainer在SplitContainer.Panel1中有一个DataGridView,在SplitContainer.Panel2中有一个UserControl。在SplitContainer.Panel1中,DataGridView的自动滚动工作正常(我在这里没有做任何事情,我猜它是自动的),但是在SplitContainer.Panel2上它并没有。

在SplitContainer.Panel2中加载的UserControl里面有两个面板,以防万一有人问:当SplitContainer.Panel2的一小部分可见时,Autoscroll似乎工作,但不是整个UserControl。

这是Form的构造函数中的相关代码:

InitializeComponent();
var infoPanel = InfoPanelUserControl.Instance;
infoPanel.Dock = DockStyle.Fill;
infoPanel.AutoScroll = true;
dataSplitContainer.Panel2.Controls.Add(infoPanel);
dataSplitContainer.Panel2Collapsed = true;

这是单击DataGridView中的单元格时执行的方法:

dataSplitContainer.Panel2Collapsed = false;
var row = Convert.ToInt32(((DataGridView) sender).Rows[e.RowIndex].Cells["Id"].Value);
var record = Repository.Instance.Passmann.Vaults.First().Records.Single(x => x.Id == row);
InfoPanelUserControl.Instance.LoadInfo(record);

我尝试在不同的控件上添加AutoScroll属性(到SplitContainer.Panel2,UserControl)以及AutoSize,但这些似乎都不起作用。

感谢您的任何建议。

0 个答案:

没有答案