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

わんくま同盟

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

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

ツリー一括表示

DataBindings /naoki (21/02/01(Mon) 12:07) #96777
Re[1]: DataBindings /魔界の仮面弁士 (21/02/01(Mon) 13:08) #96779
  └ Re[2]: DataBindings /naoki (21/02/01(Mon) 13:19) #96780 解決済み


親記事 / ▼[ 96779 ]
■96777 / 親階層)  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)

[ □ Tree ] 返信 編集キー/

▲[ 96777 ] / ▼[ 96780 ]
■96779 / 1階層)  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"
[ 親 96777 / □ Tree ] 返信 編集キー/

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

ありがとうございます。
この方法で、いこうと思います。
解決済み
[ 親 96777 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -