分類:[.NET 全般]
2018/05/02(Wed) 15:05:23 編集(投稿者)
VS2017 VBです。
https://msdn.microsoft.com/ja-jp/library/system.globalization.compareoptions(v=vs.110).aspx
ここから使用いしています。
文字を漢字など(含む)テキストボックスに一文字いれると
大文字、小文字、カタカナなどは出来ますが、漢字も出来ますか?
コード
Imports System.Globalization
Form1
Private list As New List(Of String)()
Form_Load
list.Add("あ")
list.Add("嗚")
list.Add("ア")
End Sub
Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.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 '大文字と小文字を区別しない
opt = opt Or CompareOptions.IgnoreNonSpace '文字列比較で分音文字などの結合の分音文字を無視することを示します。
opt = opt Or CompareOptions.IgnoreSymbols '文字列の比較が空白文字が区切り記号、通貨記号、パーセント記号、数学記号、アンパサンド、やなどの記号を無視することを示します。
Dim txt As String = TextBox3.Text
ComboBox1.DataSource = list.Where(
Function(s)
Return 0 = ci.Compare(Strings.Left(s, txt.Length), txt, opt)
End Function).ToArray()
End Sub
End Crass
例:あという文字をテキストボックスにあを入れるとlist.Addであだけをcomboboxに表示されるんですが
漢字も表示させたいです。
お願いします。