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

わんくま同盟

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

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

■85965 / 5階層)  comboboxのselectindexについて
□投稿者/ あ (5回)-(2017/12/05(Tue) 21:30:09)
2017/12/05(Tue) 23:27:50 編集(投稿者)
No85923 (あ さん) に返信
> ■No85921 (魔界の仮面弁士 さん) に返信
>>■No85919 (あ さん) に返信
補足として申し上げます。

新しいform2からlist.add("")に書いてform1にコンボボックス表示させたいと思いついたのですが。

form1の
Imports System.Globalization
Public Class Form2
  Private list As New List(Of String)()
    Private Sub raion_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Close()

        With Form1.ComboBox1
            list.Add("あり")
            list.Add("アメリカンドック")
'form1に表示させる
 Form1.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
            Form1.ComboBox1.DataSource = list
end with

この場合は出来ます。
しかし、文字を検索すると消えてしまいました。

'form2
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        'テキストを書き換えるたびに、
        'リストの内容を先頭一致でフィルタリング
        Dim ci = New CultureInfo("ja-jp").CompareInfo
        Dim opt As CompareOptions
        opt = opt Or CompareOptions.IgnoreWidth   '全角と半角を区別しない
        opt = opt Or CompareOptions.IgnoreKanaType 'ひらがなとカタカナを区別しない
        opt = opt Or CompareOptions.IgnoreCase   '大文字と小文字を区別しない
        Dim txt As String = Form1.TextBox2.Text
        Form1.ComboBox1.DataSource = list.Where(
Function(s)
    Return 0 = ci.Compare(Strings.Left(s, txt.Length), txt, opt)
End Function).ToArray()

    End Sub
'form1で検索する
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
        'テキストを書き換えるたびに、
        'リストの内容を先頭一致でフィルタリング
        Dim ci = New CultureInfo("ja-jp").CompareInfo
        Dim opt As CompareOptions
        opt = opt Or CompareOptions.IgnoreWidth   '全角と半角を区別しない
        opt = opt Or CompareOptions.IgnoreKanaType 'ひらがなとカタカナを区別しない
        opt = opt Or CompareOptions.IgnoreCase   '大文字と小文字を区別しない

        Dim txt As String = a00.TextBox1.Text
        ComboBox1.DataSource = list.Where(
Function(s)
    Return 0 = ci.Compare(Strings.Left(s, txt.Length), txt, opt)
End Function).ToArray()
    End Sub

試したんですがform1で検索すると消えてしまいました。

何卒宜しくお願い致します。

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[4]: comboboxのselectindexについて /あ →Re[6]: comboboxのselectindexについて /furu
 
上記関連ツリー

comboboxのselectindexについて / あ (17/11/29(Wed) 20:16) #85865
Re[1]: comboboxのselectindexについて / エラー仮面 (17/12/01(Fri) 16:53) #85918
  └ Re[2]: comboboxのselectindexについて / あ (17/12/01(Fri) 20:24) #85919
    └ Re[3]: comboboxのselectindexについて / 魔界の仮面弁士 (17/12/01(Fri) 22:41) #85921
      └ Re[4]: comboboxのselectindexについて / あ (17/12/02(Sat) 19:23) #85923 解決済み
        └ comboboxのselectindexについて / あ (17/12/05(Tue) 21:30) #85965 ←Now
          └ Re[6]: comboboxのselectindexについて / furu (17/12/06(Wed) 11:50) #85969
            └ Re[7]: comboboxのselectindexについて / あ (17/12/06(Wed) 18:54) #85975
              └ Re[8]: comboboxのselectindexについて / furu (17/12/06(Wed) 19:29) #85977
                └ Re[9]: comboboxのselectindexについて / あ (17/12/06(Wed) 19:56) #85979 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信