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

わんくま同盟

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

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


■85965 / )  Re[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で検索すると消えてしまいました。

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

返信 編集キー/


管理者用

- Child Tree -