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

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

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

Re[2]: コンボボックスについて


(過去ログ 90 を表示中)

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

■53773 / inTopicNo.1)  コンボボックスについて
  
□投稿者/ がながな (52回)-(2010/09/27(Mon) 08:42:44)

分類:[VB.NET/VB2005 以降] 

いつもお世話になります。
コンボボックスについてなんですが、
フォーム上にCOMBO1〜COMBO15まで15個のコンボボックスがあります。

Dim XCount As Integer
Dim PP As Integer

For PP = 1 To 14
For XCount = 0 To 55 Step 5
Me.Controls("COMBO" & PP).Items.Add(XCount)
Next
Next
と言う風にCOMBO1〜15のコンボボックスのリストの中に0,5,10,15,20,15…55とデータを入れて行きたいのですが、どのようにすればよろしいでしょうか?
上記ではエラーが出るので、CONTROLSプロパティの代わりになるものってありますか?
よろしくお願いいたします。
引用返信 編集キー/
■53774 / inTopicNo.2)  Re[1]: コンボボックスについて
□投稿者/ shu (61回)-(2010/09/27(Mon) 09:16:54)
No53773 (がながな さん) に返信
private m_lstCombo as List(of ComboBox)

Sub (New, Load等初期処理)

    m_lstCombo as new List(of ComboBox)
    m_lstCombo.add(COMBO1)
    m_lstCombo.add(COMBO2)
    m_lstCombo.add(COMBO3)
    m_lstCombo.add(COMBO4)

    ・・・・・・

    m_lstCombo.add(COMBO15)

end Sub

Sub (各Comboに設定する処理)

    For each cboTmp as ComboBox in m_lstCombo
        For XCount = 0 To 55 Step 5
            cboTmp.Items.Add(XCount)
        Next
    Next 

end Sub


こんな感じでいけると思います。

引用返信 編集キー/
■53775 / inTopicNo.3)  Re[2]: コンボボックスについて
□投稿者/ がながな (53回)-(2010/09/27(Mon) 09:25:11)
早速のご返事ありがとうございます。
やはり

ub (New, Load等初期処理)

m_lstCombo as new List(of ComboBox)
m_lstCombo.add(COMBO1)
m_lstCombo.add(COMBO2)
m_lstCombo.add(COMBO3)
m_lstCombo.add(COMBO4)

    ・・・・・・

m_lstCombo.add(COMBO15)

end Sub


の部分はLOOPなどを使って簡素化することは難しいですよね・・・。
引用返信 編集キー/
■53776 / inTopicNo.4)  Re[3]: コンボボックスについて
□投稿者/ がながな (54回)-(2010/09/27(Mon) 09:33:00)
申し訳ございません
LOOPの件できました!
ただ、

For Each cboTmp In m_lstCombo
For XCount = 0 To 55 Step 5
cboTmp.Items.Add(XCount)
Next
Next
の「cboTmp.Items.Add(XCount)」でエラーが出てしまいます。

引用返信 編集キー/
■53777 / inTopicNo.5)  Re[4]: コンボボックスについて
□投稿者/ shu (62回)-(2010/09/27(Mon) 09:38:57)
No53776 (がながな さん) に返信
なんのエラーですか?

> For Each cboTmp In m_lstCombo
For Each cboTmp as ComboBox In m_lstCombo
ではどうでしょう?


> cboTmp.Items.Add(XCount)
cboTmp.Items.Add(XCount.ToString)
ではどうでしょう?


> m_lstCombo as new List(of ComboBox)
m_lstCombo = new List(of ComboBox) でした。
引用返信 編集キー/
■53778 / inTopicNo.6)  Re[5]: コンボボックスについて
□投稿者/ がながな (55回)-(2010/09/27(Mon) 09:45:46)
上記の3件早速試してみたのですが、やはりエラーが出ます。
「オブジェクト参照がオブジェクトインスタンスに設定されていません」とでます。
よろしくお願いいたします。

引用返信 編集キー/
■53781 / inTopicNo.7)  Re[1]: コンボボックスについて
□投稿者/ よねKEN (618回)-(2010/09/27(Mon) 10:35:49)
よねKEN さんの Web サイト
2010/09/27(Mon) 10:37:13 編集(投稿者)

No53773 (がながな さん) に返信
> 上記ではエラーが出るので、CONTROLSプロパティの代わりになるものってありますか?

何と言うエラーが出るのですか?

> Me.Controls("COMBO" & PP).Items.Add(XCount)

の行を

DirectCast(Me.Controls("COMBO" & PP), ComboBox).Items.Add(XCount)

とするだけでOKだったりしませんか?
(※当方では検証していません)

--
> For PP = 1 To 14

ところでこの行の14は15ではないでしょうか。
引用返信 編集キー/
■53782 / inTopicNo.8)  Re[6]: コンボボックスについて
□投稿者/ shu (63回)-(2010/09/27(Mon) 10:37:02)
No53778 (がながな さん) に返信
> 上記の3件早速試してみたのですが、やはりエラーが出ます。
> 「オブジェクト参照がオブジェクトインスタンスに設定されていません」とでます。
> よろしくお願いいたします。
>
cboTmpがNothingになっているということですね。m_lstComboへの追加処理はどのように
行ったのでしょう?処理順にコードを提示願います。
引用返信 編集キー/
■53783 / inTopicNo.9)  Re[2]: コンボボックスについて
□投稿者/ がながな (56回)-(2010/09/27(Mon) 10:40:22)
すいません。わかりました。
確かにNothingになっておりました。
ありがとうございます。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -