C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
任意のItemをEnable=falseにしたい
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■53575
/ inTopicNo.1)
任意のItemをEnable=falseにしたい
▼
■
□投稿者/ aki
(1回)-(2010/09/19(Sun) 17:05:23)
分類:[VB.NET/VB2005 以降]
こんにちは。
基本的な質問なのですが、、、
ComboBoxに"選択1"、"選択2"、"選択3"というItemsを追加(Add)した場合、
"選択2"だけをユーザーが選べないようにしたいです。
ComboBoxをまったく選択できないようにするには、
Me.ComboBox.Enable=false
とすればよいというのは分かるのですが、
combobox.items.item(1).enable みたいなのがありません。
どなたか分かる方、教えて頂けますでしょうか。
宜しくお願いします。
引用返信
編集キー/
編集
■53576
/ inTopicNo.2)
Re[1]: 任意のItemをEnable=falseにしたい
▲
▼
■
□投稿者/ Azulean
(612回)-(2010/09/19(Sun) 17:30:20)
2010/09/19(Sun) 17:31:18 編集(投稿者)
とりあえずリンクだけ。
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=27294&rev=&no=0
以前見たときから私の見解として、そんなことはできないと思っています。
(コンボボックスは選択肢を列挙するのですから、選べない候補がいるのは違和感があります)
引用返信
編集キー/
編集
■53580
/ inTopicNo.3)
Re[1]: 任意のItemをEnable=falseにしたい
▲
▼
■
□投稿者/ 魔界の仮面弁士
(1827回)-(2010/09/19(Sun) 19:04:08)
■
No53575
(aki さん) に返信
> 基本的な質問なのですが、、、
# 基本的かな…? (^^;
> ComboBoxに"選択1"、"選択2"、"選択3"というItemsを追加(Add)した場合、
> "選択2"だけをユーザーが選べないようにしたいです。
たとえば Form に CheckedListBox コントロールを貼っておき、
デザイナ上の [SelectionMode] プロパティから、MultiSimple を
選んでみてください。無効な値として警告メッセージが表示され、
元の値に戻されてしまいますよね。
それと同じで、"選択2" が選ばれたときに警告メッセージを表示して、
元の値に戻してしまうのが、もっとも単純な実装かと思います。
> combobox.items.item(1).enable みたいなのがありません。
もし、"選択2" を使用できないことを分かりやすくするために、
項目を淡色表示したり、あるいはクリックできないようにしたいという
意図なのであれば、単純な方法は用意されていません。
VB/C# に限らず、そういう要望は国内外で良く聞くのですけれどね…。
http://www.fret1.com/blog/silverlight-data-binding-enableddisabled-items-on-combobox/
http://bytes.com/topic/visual-basic-net/answers/825844-disable-items-combobox
http://www.vbforums.com/archive/index.php/t-315349.html
http://bytes.com/topic/net/answers/773264-c-apps-grey-out-disable-some-elements-combo-box
http://www.java2s.com/Code/Java/Swing-Components/DisabledComboBoxExample.htm
それっぽく実装しようとするならば、オーナードローで淡色表示した上で、
選択不可項目が選ばれ時に、記憶しておいた前回の値に戻すといった
大がかりなコードを記述する事になると思います。
なお、無理矢理な方法なので実用的ではありませんが、一応、
WebBrowser で HTML の <option disabled> を使うという力技もあります。
http://javascript.webcreativepark.net/sample/select-option-disabled-emulation/index2.html
# たとえば、IE8 で『
http://bbs.wankuma.com/index.cgi?mode=new
』のページを開くと、
# 画面下部の「分類」欄に多くの項目が表示されますが、ここで、アドレスバーに
# 『javascript:alert(document.forms[0].sel.options[5].disabled = true)』
# と入力すると、「VB6 以前」の項目が選択できなくなります。
引用返信
編集キー/
編集
■53581
/ inTopicNo.4)
Re[2]: 任意のItemをEnable=falseにしたい
▲
▼
■
□投稿者/ すなふきぬ
(44回)-(2010/09/19(Sun) 21:15:40)
2010/09/19(Sun) 23:54:42 編集(投稿者)
2010/09/19(Sun) 21:23:27 編集(投稿者)
<pre><pre>■
No53580
(魔界の仮面弁士 さん) に返信
> ■
No53575
(aki さん) に返信
>>基本的な質問なのですが、、、
> # 基本的かな…? (^^;
基本的じゃないと思いますが。
>>combobox.items.item(1).enable みたいなのがありません。
> もし、"選択2" を使用できないことを分かりやすくするために、
> 項目を淡色表示したり、あるいはクリックできないようにしたいという
> 意図なのであれば、単純な方法は用意されていません。
>
> それっぽく実装しようとするならば、オーナードローで淡色表示した上で、
> 選択不可項目が選ばれ時に、記憶しておいた前回の値に戻すといった
> 大がかりなコードを記述する事になると思います。
それっぽくWindows Form(C#)で作ってみました。
#comboBox1_DrawItem()のDrawString()、e.Bounds.Yに補正値+1を追加
#なんか知らないけど、荒らしとか言われるのも心外なので、ソース削除しておきます。
</pre></pre>
引用返信
編集キー/
編集
このトピックをツリーで一括表示
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
入力内容にタグは利用できません。
他人を中傷する記事は管理者の判断で予告無く削除されます。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
URL は自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
名前
(*必須)
E-Mail (任意)
Web サイト (任意)
投稿モード
通常モード
図表モード (ソースコードを貼る場合はこちらを使用)
本文
(質問の場合は、開発環境・使用言語のバージョンなどを最初に書いてください)
■No53581 (すなふきぬ さん) に返信 > 2010/09/19(Sun) 23:54:42 編集(投稿者) > 2010/09/19(Sun) 21:23:27 編集(投稿者) > > <pre><pre>■No53580 (魔界の仮面弁士 さん) に返信 >>■No53575 (aki さん) に返信 > >>基本的な質問なのですが、、、 >># 基本的かな…? (^^; > > 基本的じゃないと思いますが。 > > >>combobox.items.item(1).enable みたいなのがありません。 >>もし、"選択2" を使用できないことを分かりやすくするために、 >>項目を淡色表示したり、あるいはクリックできないようにしたいという >>意図なのであれば、単純な方法は用意されていません。 >> >>それっぽく実装しようとするならば、オーナードローで淡色表示した上で、 >>選択不可項目が選ばれ時に、記憶しておいた前回の値に戻すといった >>大がかりなコードを記述する事になると思います。 > > それっぽくWindows Form(C#)で作ってみました。 > > > > #comboBox1_DrawItem()のDrawString()、e.Bounds.Yに補正値+1を追加 > > #なんか知らないけど、荒らしとか言われるのも心外なので、ソース削除しておきます。 > > </pre></pre>
編集キー
自分の投稿を編集する時に必要です
(半角8文字以内)
解決済み
/
解決したらチェックしておきましょう。
プレビュー/
管理者用
-
Child Tree
-