【问题标题】:Simple way to bind two different properties together?将两个不同属性绑定在一起的简单方法?
【发布时间】:2011-10-29 03:10:43
【问题描述】:

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

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

【问题讨论】:

  • Binding 通常与 WPF 相关联 - 我认为您在这方面是 OOL。

标签: c# winforms data-binding binding


【解决方案1】:

实际上,有一种方法可以将 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 中起作用。我可能会提交一份错误报告。

干杯

【解决方案2】:

是的,您在面板中执行此操作的方式。Resize 事件是在 Windows 窗体中执行此操作的唯一方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2015-01-03
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多