- PR -

パネル上のテキストボックスを全て入力不可に

投稿者投稿内容
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2007-08-30 16:18
 こんにちは。

VB2005のアプリです。

FormにTableLayoutPanelを配置し、
TextBoxを2列X6行配置しました。

全てのTextBoxを入力不可にしたいのですが
単独の項目であれば、ReadOnly = Trueにするのでしょうが

TableLayoutPanelないのTextBoxを
For Each でLOOPさせ1つずつReadOnly = Trueする他に
できないでしょうか?

できればTableLayoutPanelに何かをセットし
含まれるTextBox全てが入力不可になるとよいのですが。

もちろんTextBoxの内容は通常通りに表示はさせたいのです。



れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-08-30 16:36

TableLayoutPanel.Enabled=False

でどうでしょうか。
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2007-08-30 17:30
返答ありがとうございます。

Enabled=False にするとTextBoxのTextが
薄く表示されてしまいますよね。

表示は通常のままにしたいのです。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-08-30 17:51
引用:

なびさんの書き込み (2007-08-30 17:30) より:
表示は通常のままにしたいのです。



では素直に回したらいいのではないでしょうか。
Disableだけど表示は一見普通のままっていう手もありますが、
いいデザインとはいえないと思います。

愚直からはじめるのも悪くはないと思います。
あれこれ悩むより、成果は早くでますし。
再利用したい、たくさんある、などの場合は
TableLayoutPanelを継承して、
ReadOnlyプロパティを実装すればいいと思います。
よっし〜。
ベテラン
会議室デビュー日: 2007/04/17
投稿数: 89
お住まい・勤務地: 北のほうの国
投稿日時: 2007-08-30 17:59
標準のプロパティ設定では無理です。

この辺が参考になるかと
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33650&forum=7
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2007-08-31 14:56
たくさんの回答ありがとうございます。

考えてみます。
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2007-08-31 19:53

 れいさんの回答で

再利用したい、たくさんある、などの場合は
TableLayoutPanelを継承して、
ReadOnlyプロパティを実装すればいいと思います。

 とありますが、もう少し具体的に教えて頂けないでしょうか?

まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2007-08-31 20:32
ReadOnly プロパティの値書き換え時に

引用:

TableLayoutPanelないのTextBoxを
For Each でLOOPさせ1つずつReadOnly = Trueする



を内部で実行すればいいでしょう。

スキルアップ/キャリアアップ(JOB@IT)