C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DataBindings

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■96777 / inTopicNo.1)  DataBindings
  
□投稿者/ naoki (1回)-(2021/02/01(Mon) 12:07:07)

分類:[.NET 全般] 

Windowsフォームアプリケーション(VB2019)です。
コントロール間のDataBindingsについて、教えてください。

LabelのTextプロパティとButtonのEnabledプロパティをバインドしたいです。
LabelのTextプロパティは0以上の整数が文字列として必ず表示されています。
LabelのTextプロパティが"0"の時はButton.Enabled=False、"0"以外はButton.Enabled=Trueとしたいです。

Textプロパティ同士だと以下でいけたのですが......

        Dim bs As New BindingSource With {.DataSource = Label1}
        Dim textBinder As New Binding("Text", bs, "Text")
        Button1.DataBindings.Add(textBinder)

引用返信 編集キー/
■96779 / inTopicNo.2)  Re[1]: DataBindings
□投稿者/ 魔界の仮面弁士 (2960回)-(2021/02/01(Mon) 13:08:56)
No96777 (naoki さん) に返信
> LabelのTextプロパティは0以上の整数が文字列として必ず表示されています。
> LabelのTextプロパティが"0"の時はButton.Enabled=False、"0"以外はButton.Enabled=Trueとしたいです。

Boolean 型同士のバインドなら簡単なんですけれどね。
Button1.DataBindings.Add("Enabled", CheckBox1, "Checked")


DataBindings に拘らず、イベント処理に変更するのは如何でしょうか。

AddHandler Label1.TextChanged, Sub() Button1.Enabled = Label1.Text <> "0"
引用返信 編集キー/
■96780 / inTopicNo.3)  Re[2]: DataBindings
□投稿者/ naoki (2回)-(2021/02/01(Mon) 13:19:26)
No96779 (魔界の仮面弁士 さん) に返信
> DataBindings に拘らず、イベント処理に変更するのは如何でしょうか。
>
> AddHandler Label1.TextChanged, Sub() Button1.Enabled = Label1.Text <> "0"

ありがとうございます。
この方法で、いこうと思います。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ