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

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

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

Re[5]: コントロール無効化


(過去ログ 44 を表示中)

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

■23814 / inTopicNo.1)  コントロール無効化
  
□投稿者/ GA (1回)-(2008/08/22(Fri) 11:05:03)

分類:[VB.NET/VB2005] 

はじめまして。

現在VB.NETを使用しています。

今作っているプログラムの中で、
特定の条件下でコントロールへの操作を行えないようにしたいのですが、
EnabledプロパティをFalseにする方法だとコントロールがグレーダウンしてしまいます。

Enabledプロパティを使わずに、キー入力やマウスによる操作を受け付けないようにする
方法はないでしょうか。

もしあればご教授お願いします。

よろしくお願いします。
引用返信 編集キー/
■23816 / inTopicNo.2)  Re[1]: コントロール無効化
□投稿者/ オガシン (47回)-(2008/08/22(Fri) 11:14:37)
まったく見えなくしたいってことですか?

VisibleプロパティをFalseにしてみてください。
引用返信 編集キー/
■23817 / inTopicNo.3)  Re[2]: コントロール無効化
□投稿者/ やじゅ (563回)-(2008/08/22(Fri) 11:21:31)
やじゅ さんの Web サイト
No23816 (オガシン さん) に返信
> VisibleプロパティをFalseにしてみてください。

ReadOnlyプロパティの方かと
引用返信 編集キー/
■23818 / inTopicNo.4)  Re[1]: コントロール無効化
□投稿者/ επιστημη (1271回)-(2008/08/22(Fri) 11:22:39)
επιστημη さんの Web サイト
> 特定の条件下でコントロールへの操作を行えないようにしたいのですが、
> EnabledプロパティをFalseにする方法だとコントロールがグレーダウンしてしまいます。

Grayになってくれた方が"触れない"ことが一目でわかって便利じゃありませんか?
なにか都合の悪いことがあるのですか?

引用返信 編集キー/
■23820 / inTopicNo.5)  Re[1]: コントロール無効化
□投稿者/ カドルドエグ (15回)-(2008/08/22(Fri) 11:25:11)
No23814 (GA さん) に返信

> EnabledプロパティをFalseにする方法だとコントロールがグレーダウンしてしまいます。
>
> Enabledプロパティを使わずに、キー入力やマウスによる操作を受け付けないようにする
> 方法はないでしょうか。

オガシンさんの御意見のように本体丸ごと見えなくする手もありますが、
本体の上に何のイベントもハンドルさせていない別なコントロールを「本体の上に」乗せておいて、それの
Visibleを切り替える(操作しないとき→偽コントロールのVisible = True:操作するとき:偽コントロールのVisible = False)
とする手もあるかなと。
引用返信 編集キー/
■23822 / inTopicNo.6)  Re[3]: コントロール無効化
□投稿者/ オガシン (48回)-(2008/08/22(Fri) 11:31:16)
対象のコントロールがラベルなのかテキストボックスなのか、ボタンなのかがわからないです。

ReadOnlyにするとプログラム上はマウスの操作(クリックとか)は受け付けてしまうと思いますが。
#間違ってたらすみません

Enabledをつかわないで処理をキャンセルするなら、特定の条件下だったらExit Subして処理を
終了してしまうとか。
特定の条件下で操作を行えないようにするのであれば、逆に条件を満たせば使えるってことですよね?
Enabledをつかってグレーダウンさせたほうがいいと思いますが。

もし権限等でどうやってもそのユーザが使えないのであればVisibleを使用して見えなくするべきだと思います。

引用返信 編集キー/
■23823 / inTopicNo.7)  Re[2]: コントロール無効化
□投稿者/ やじゅ (564回)-(2008/08/22(Fri) 11:35:33)
やじゅ さんの Web サイト
2008/08/22(Fri) 11:43:19 編集(投稿者)

>■No23818 (επιστημη さん) に返信
> Grayになってくれた方が"触れない"ことが一目でわかって便利じゃありませんか?
> なにか都合の悪いことがあるのですか?
>

Gray表示だと見難いとユーザーから言われることがあります。
なので、今の私のプロジェクトでは、ReadOnly=Trueにして背景色を変更しています。

ReadOnlyだとマウスで選択できてしまいますが、逆に選択できることを利用して
選択した文字をコピーするなどに使っています。


オプションボタンは選択されているのだけEnabled=True、未選択はEnabled=Falseと
しています。

引用返信 編集キー/
■23824 / inTopicNo.8)  Re[4]: コントロール無効化
□投稿者/ もょもと (35回)-(2008/08/22(Fri) 11:41:17)
VB2005でしたら、キー入力はSuppressKeyPressで、
マウス操作はカーソルの移動範囲固定用APIで制御するのもありなんでしょうか。
引用返信 編集キー/
■23825 / inTopicNo.9)  Re[4]: コントロール無効化
□投稿者/ GA (2回)-(2008/08/22(Fri) 11:44:40)
申しわけありません。
質問内容が漠然としていてわかりずらかったですね…。

そんな中多くのお返事をいただきありがとうございます。
ReadOnlyプロパティを使ったところうまく目的の形にできました。

本当にありがとうございます!

解決済み
引用返信 編集キー/
■23826 / inTopicNo.10)  Re[5]: コントロール無効化
□投稿者/ オガシン (49回)-(2008/08/22(Fri) 11:50:34)
できれば対象コントロールはなんだったのかおしえてもらえないですか?

ReadOnlyで解決したってことはTextBoxでしょうか?

MSDNみたらReadOnlyが実装されているのはTextBoxBaseクラスからでした。
なのでTextBoxBaseから派生していないButtonなどにはReadOnlyプロパティはありません。
今回の問題の対象がボタンコントロールであった場合別の解決方法が必要になりますよね?
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -