テキストボックスの入力を禁止するには?

解決


聖二  2004-05-21 18:37:53  No: 83477  IP: [192.*.*.*]

皆様、お世話になります。よろしくお願い致します。

ある条件の時に、テキストボックスの入力を禁止したいのですが。
出来ますでしょうか。
非表示にするでもなく、また、
Enabledプロパティでは、薄くなってしまい、テキストの内容が良くわかりません。

また、オプションボタンも同様に、ある条件の時に
入力というかクリックを禁止したいのですが。
これも、非表示や薄くなってしまわないようにしたいのですが。

無理でしょうか。

テキストボックスとオプションボタンを、データの表示用と、場合によっては入力用の
両方で使用しています。
データの表示の場合には、入力出来ないようにしたいのです。

どうか、よろしくお願い致します。

編集 削除
魔界の仮面弁士  2004-05-21 21:53:19  No: 83478  IP: [192.*.*.*]

> ある条件の時に、テキストボックスの入力を禁止したいのですが。

VB.NET の System.Windows.Forms.TextBox の場合:
  ReadOnlyプロパティをTrueにする。

VB.NET の System.Web.UI.WebControls.TextBox の場合:
  ReadOnlyプロパティをTrueにする。
  
VB6 の TextBoxコントロールの場合:
  LockedプロパティをTrueにする。


> Enabledプロパティでは、薄くなってしまい、テキストの内容が良くわかりません。
VB6の場合、PictureBoxやFrame等、適当なコンテナの上にTextBoxをのせておき、
コンテナ側のEnabledをFalseにする…という手も使われています。

編集 削除
聖二  2004-05-24 17:22:02  No: 83479  IP: [192.*.*.*]

魔界の仮面弁士様
いつも、本当にありがとうございます。

VBのバージョンは6です。書いて無くて申し訳ありませんでした。
TextBoxコントロールにはLockedプロパティなるものがあるのですね。
オプションボタンには、そういったものはありませんでしょうか。

とりあえず、オプションボタンには無いとして
テキストボックスやオプションボタンをFrameにのせて
試しにやってみたらうまくいきました。
いろいろなテクがあるのですね。
これでうまくいきそうです。

実際のところですが。
今まで作ってしまっていたテキストボックスやオプションボタンは
一つのフォーム上に数多くあります。
これらを、Frameの上にのせるには、やはり、まずはFrameを作ってから
もういちど、作成するしかないでしょうか。
後からFrameを作って、既存のテキストボックスなどをFrame上に移動して
のせてもうまくいかないですね。
ちょっと数が多いので、もしFrameを後から作って、既存のテキストボックスなどを
のせられるとしたら、その方法を教えて下さい。
前々から、どうにかならないかなぁと思っていたことですが。

よろしくお願い致します。

編集 削除
聖二  2004-05-24 17:28:57  No: 83480  IP: [192.*.*.*]

すみませんでした。

直後に、ヘルプの「フレームコントロールの使用」
のところを見たら、のっていました。

既存のテキストボックスなどを一度クリップボートに取り込んでから
フレーム内部に貼り付けすればいいのですね。

ありがとうございました。
解決とさせていただきます。

編集 削除
魔界の仮面弁士  2004-05-24 17:41:37  No: 83481  IP: [192.*.*.*]

> 後からFrameを作って、既存のテキストボックスなどをFrame上に移動して
> のせてもうまくいかないですね。

Frameに「重ねて配置する」のではなく、
Frameの上に「載せて配置する」必要があります。


> ちょっと数が多いので、もしFrameを後から作って、既存のテキストボックスなどを
> のせられるとしたら、その方法を教えて下さい。
まず、既存のコントロール群をまとめて選択してください。
# コントロールを囲むようにドラッグして選択すると、複数選択が可能です。
# また、CtrlかShiftキーを押しながらマウスをクリックまたはドラッグする事で、
# コントロールを個別に選択/選択解除する事ができます。

コントロールを選択できたら、[Ctrl]+[X]、もしくは[編集]-[切り取り]を
使って、コントロールを切り取って下さい。その後、移動先のFrameを
選択してから、[Ctrl]+[V]もしくは[編集]-[貼り付け]にて、コンテナを
Frameコントロールに移し変えることができます。

編集 削除