DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
No35164 の記事
■35164
/ )
Re[3]: TEXTBOXのプロパティを文字列に
□投稿者/ 魔界の仮面弁士
大御所(1453回)-(2022/10/11(Tue) 19:04:19)
■
No35163
に返信(ま〜さんの記事)
> TextBox2.BackColor = DirectCast(pdBackColor.Converter.ConvertFromInvariantString(Label14.Text), BackColor)
> TextBox2.ForeColor = DirectCast(pdForeColor.Converter.ConvertFromInvariantString(Label15.Text), ForeColor)
DirectCast の第二引数には「データ型」を指定します。
BackColor プロパティは「System.Drawing.Color 型」で
ForeColor プロパティも「System.Drawing.Color 型」で
Font プロパティは「System.Drawing.Font 型」で
Text プロパティは「System.String 型」で
Enabled プロパティは「System.Boolean 型」ですよね。
すなわち、
TextBox1.BackColor = DirectCast(〜, Color)
TextBox1.ForeColor = DirectCast(〜, Color)
TextBox1.Font = DirectCast(〜, Font)
TextBox1.Text = DirectCast(〜, String)
TextBox1.Enabled = DirectCast(〜, Boolean)
のように記述することになります。
> (Label13は適当に書いてみました。これが要因?)
Label 用の PropertyDescriptor を TextBox 用に対して用いてはいけません。
PropertyDescriptor にとって重要なのは「どの型のプロパティを扱おうとしているのか」なので、
コントロールの型を一致させてないと実行時エラーになりえます。
たとえば
Dim a = TypeDescriptor.GetProperties(Label1).Find("AutoEllipsis", False)
Dim b = TypeDescriptor.GetProperties(TextBox1).Find("CharacterCasing", False)
とした場合、
MsgBox( a.GetValue(Label1) )
MsgBox( b.GetValue(TextBox1) )
とは書けますが、
MsgBox( a.GetValue(TextBox1) )
MsgBox( b.GetValue(Label1) )
にしてしまうと、呼び出し時に例外がスローされます。
これは ShouldSerializeValue などでも同じことです。
PropertyDescriptor は:
Dim pd As PropertyDescriptor = TypeDescriptor.GetProperties(Label1).Find("Font", False)
のように「コントロールのインスタンス」を通じて取得する方法のほか、
Dim pd As PropertyDescriptor = TypeDescriptor.GetProperties(GetType(Label)).Find("Font", False)
のように「コントロールの型」を通じて取得する方法もあります。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
返信
削除キー/
編集
削除
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-