在我的应用程序中,我始终希望hscrollbar.LargeChange等于panel.Width。目前,我在调整大小,绘画事件等方面将hscrollbar.LargeChange设置为panel.Width。我对绑定了解不多,所以我想知道是否可以这样做。

抱歉,如果这是一个简单的问题,但是当我尝试使用谷歌搜索绑定和c#时,我得到了许多有关其他平台的复杂信息。

最佳答案

实际上,有一种方法可以将HScrollBar的LargeChange属性绑定到面板的Width属性,但是我认为我刚刚发现了.NET 4中的一个与此相关的错误,因为如果我以.NET 3.5为目标,它就可以正常工作。

基本上,您需要手动创建一个Binding对象,并将其分配给HScrollBar的DataBindings集合,如下所示:

hScrollBar1.DataBindings.Add(new Binding("LargeChange", panel1, "Size.Width", true, DataSourceUpdateMode.OnPropertyChanged));


同样,这在.NET 4中无效,但在.NET 3.5中有效。我可能会提交一个错误报告。

干杯

08-18 01:29