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

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

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

[VB.NET]フォーム上のComboBoxすべてを-1に


(過去ログ 3 を表示中)

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

■3150 / inTopicNo.1)  [VB.NET]フォーム上のComboBoxすべてを-1に
  
□投稿者/ jhondoe 二等兵(1回)-(2006/04/19(Wed) 00:55:36)

分類:[C#] 


分類:[C#] 

1フォームに約40近くあるComboBoxのSelectedIndexを-1に設定したいのですが、
方法は無いのでしょうか。

テキストボックスをクリアする方法は
http://jeanne.wankuma.com/tips/form/cleartextbox.html
で理解できました。

名前で探して取得するで
http://jeanne.wankuma.com/tips/form/findcontrol.html
SelectedIndexで-1してみたのですが、エラーになってしまいました・・・

0
引用返信 編集キー/
■3151 / inTopicNo.2)  Re[1]: [VB.NET]フォーム上のComboBoxすべてを-1に
□投稿者/ まどか 准尉(114回)-(2006/04/19(Wed) 01:16:22)

分類:[C#] 

> 名前で探して取得するで
> http://jeanne.wankuma.com/tips/form/findcontrol.html
> SelectedIndexで-1してみたのですが、エラーになってしまいました・・・

想像ですが、
ControlクラスにSelectedIndexプロパティが無いということではないですか?
つまり、Control.SelectedIndexではなくComboBox.SelectedIndexである必要があるわけです。
ControlオブジェクトをComboBoxクラスにキャスト(変換)してください。
CTypeまたはDirectCastを調べてみてください。


0
引用返信 編集キー/
■3164 / inTopicNo.3)  Re[2]: [VB.NET]フォーム上のComboBoxすべてを-1に
□投稿者/ 名無しぃシャープ 曹長(87回)-(2006/04/19(Wed) 12:21:31)

分類:[C#] 

例外という意味であればOption Strict Onにしませう。
Option Strict Onになっていれば、実行する前に気付くことができただろうと思う。

こういう手抜きの遅延バインディングはプロが使うものではなりません。
それこそ〜厨と呼ばれてしまいますのでご注意あれ。(僕も呼ばれて宝w)

0
引用返信 編集キー/
■3190 / inTopicNo.4)  Re[3]: [VB.NET]フォーム上のComboBoxすべてを-1に
□投稿者/ jhondoe 二等兵(2回)-(2006/04/21(Fri) 02:02:21)

分類:[C#] 

仰せのとおり、Controlの中にはありませんでしたので
Control内のListControlに対してSelctedIndex を -1に指定してみました。
Call ClearComboBox(Me)としても
エラーは出ませんでしたが、ComboBoxはまったく無反応でした。
何か根本的に間違っているのでしょうか。。。

Public Sub ClearComboBox(ByVal hParent As Control)
For Each hControl As Control In hParent.Controls

If hControl.HasChildren = True Then
ClearComboBox(hControl)
End If
If TypeOf hControl Is ListControl Then
For Each hListControl As ListControl In hControl.Controls
hListControl.SelectedIndex = -1
Next
End If
Next hControl
End Sub

0
引用返信 編集キー/
■3191 / inTopicNo.5)  Re[4]: [VB.NET]フォーム上のComboBoxすべてを-1に
□投稿者/ jhondoe 二等兵(3回)-(2006/04/21(Fri) 02:25:01)

分類:[C#] 

申し訳ありません。キャストするという意味がようやく理解できました。
Option Strict On でも問題なく動作しました。
ありがとうございました。

Public Sub ClearComboBox(ByVal hParent As Control)
For Each hControl As Control In hParent.Controls

If hControl.HasChildren = True Then
ClearComboBox(hControl)
End If
If TypeOf hControl Is ListControl Then
Dim hListControl As ListControl = DirectCast(hControl, ListControl)
hListControl.SelectedIndex = -1
End If
Next hControl
End Sub

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -