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

わんくま同盟

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

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

ツリー一括表示

VB.netのオートコンプリート機能について /れい (24/02/07(Wed) 18:51) #102942
Re[1]: VB.netのオートコンプリート機能について /とくま (24/02/08(Thu) 08:23) #102945
  └ Re[2]: VB.netのオートコンプリート機能について /れい (24/02/08(Thu) 08:54) #102946
    └ Re[3]: VB.netのオートコンプリート機能について /とくま (24/02/08(Thu) 10:55) #102949
      └ Re[4]: VB.netのオートコンプリート機能について /kiku (24/02/08(Thu) 11:11) #102950
        └ Re[5]: VB.netのオートコンプリート機能について /kiku (24/02/08(Thu) 11:20) #102951
          └ Re[6]: VB.netのオートコンプリート機能について /れい (24/02/08(Thu) 13:35) #102952
            └ Re[7]: VB.netのオートコンプリート機能について /魔界の仮面弁士 (24/02/08(Thu) 15:28) #102953
              └ Re[8]: VB.netのオートコンプリート機能について /kiku (24/02/13(Tue) 11:58) #102960


親記事 / ▼[ 102945 ]
■102942 / 親階層)  VB.netのオートコンプリート機能について
□投稿者/ れい (1回)-(2024/02/07(Wed) 18:51:41)

分類:[.NET 全般] 

【環境】
Windows10
Visual Studio 2022
WindowsFormsアプリ(ターゲットフレームワーク .NET Framework 4.7.2)

現在上記の環境でテキストボックスへのオートコンプリート機能を使用しようとしています。
下記コードで試してみると、「111111」は動作して「あああああ」は動作しません。
ひらがなや漢字を使用する場合、他に設定が必要なのでしょうか?
ご教授いただけると助かります。

試した事
・IMEモードの変更
・カルチャの指定

TextBox.AutoCompleteMode = AutoCompleteMode.Suggest
TextBox.AutoCompleteSource = AutoCompleteSource.CustomSource

Dim autoCompList As New AutoCompleteStringCollection
autoCompList.Add("111111")
autoCompList.Add("あああああ")

TextBox.AutoCompleteCustomSource = autoCompList

[ □ Tree ] 返信 編集キー/

▲[ 102942 ] / ▼[ 102946 ]
■102945 / 1階層)  Re[1]: VB.netのオートコンプリート機能について
□投稿者/ とくま (5回)-(2024/02/08(Thu) 08:23:04)
No102942 (れい さん) に返信
入力確定してないからでは?
「あ」キーを1回押した状態では、漢字変換などが予測され、「あ」の入力は未入力の状態です。
テキストボックスの上に、候補の文字が浮いて表示されているような理解で良いです。
Enter等で確定しても動作しませんか?

これはEdgeや他のアプリも含めて、標準的なオートコンプリートの動作です。
[ 親 102942 / □ Tree ] 返信 編集キー/

▲[ 102945 ] / ▼[ 102949 ]
■102946 / 2階層)  Re[2]: VB.netのオートコンプリート機能について
□投稿者/ れい (2回)-(2024/02/08(Thu) 08:54:23)
No102945 (とくま さん) に返信
ご指摘ありがとうございます。
Enterで確定までしていますが、表示されない状態です。
KeyPreviewをTrueにしていたので、Enterキーの動作に問題があるのかとも考えて
Falseにしてみたりと試してはいるのですが、動作が実現できていません。
[ 親 102942 / □ Tree ] 返信 編集キー/

▲[ 102946 ] / ▼[ 102950 ]
■102949 / 3階層)  Re[3]: VB.netのオートコンプリート機能について
□投稿者/ とくま (6回)-(2024/02/08(Thu) 10:55:30)
No102946 (れい さん) に返信
気になるところはTextBoxというオブジェクト名くらい(通常はクラス名と被らないようにする)ですが、
こちらの環境では再現しませんでした。提示のコードでも入力候補は表示されます。
autoCompList.Add("あああああ")
autoCompList.Add("ああいい")
autoCompList.Add("あいい")
で、「あ」を一文字づつEnter確定すると、順に候補が絞られていきます。
一応、報告まで。
【環境】
Windows10
VB2015(VS Community2015(Ver14.0.25431.01 Update 3))
ターゲットフレームワーク .NET Framework 4.5.2

新規プロジェクトでも、提示のコードだけで再現するのですよね?
[ 親 102942 / □ Tree ] 返信 編集キー/

▲[ 102949 ] / ▼[ 102951 ]
■102950 / 4階層)  Re[4]: VB.netのオートコンプリート機能について
□投稿者/ kiku (414回)-(2024/02/08(Thu) 11:11:28)
No102949 (とくま さん) に返信
> ■No102946 (れい さん) に返信
> 【環境】
> Windows10
> VB2015(VS Community2015(Ver14.0.25431.01 Update 3))
> ターゲットフレームワーク .NET Framework 4.5.2

とくまさんの環境と、れいさんの環境が違っていたので
れいさんの環境で、下記コードを試したところ、
確かに同じ現象が再現しました。
※対処方法はまだわかりません。

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        TextBox1.AutoCompleteMode = AutoCompleteMode.Suggest
        TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource

        Dim autoCompList As New AutoCompleteStringCollection
        autoCompList.Add("111111")
        autoCompList.Add("あああああ")
        autoCompList.Add("あああああ")
        autoCompList.Add("ああいい")
        autoCompList.Add("あいい")
        TextBox1.AutoCompleteCustomSource = autoCompList
    End Sub

[ 親 102942 / □ Tree ] 返信 編集キー/

▲[ 102950 ] / ▼[ 102952 ]
■102951 / 5階層)  Re[5]: VB.netのオートコンプリート機能について
□投稿者/ kiku (415回)-(2024/02/08(Thu) 11:20:28)
No102950 (kiku さん) に返信
> ■No102949 (とくま さん) に返信
>>■No102946 (れい さん) に返信
>>【環境】
>>Windows10
>>VB2015(VS Community2015(Ver14.0.25431.01 Update 3))
>>ターゲットフレームワーク .NET Framework 4.5.2

下記環境で同じコードで実施しても、再現しました。

Microsoft Visual Studio Professional 2022 Version 17.6.5
ターゲットフレームワーク .NET Framework 4.5.2

[ 親 102942 / □ Tree ] 返信 編集キー/

▲[ 102951 ] / ▼[ 102953 ]
■102952 / 6階層)  Re[6]: VB.netのオートコンプリート機能について
□投稿者/ れい (3回)-(2024/02/08(Thu) 13:35:41)
No102951 (kiku さん) に返信
No102949 (とくま さん) に返信

新しいプロジェクトでも試してみましたが、kikuさんの仰る通り状況変わらずです。
コードにも問題はなさそうなので、もう少し検証してみますが現状対処法に見当がつきません。
[ 親 102942 / □ Tree ] 返信 編集キー/

▲[ 102952 ] / ▼[ 102960 ]
■102953 / 7階層)  Re[7]: VB.netのオートコンプリート機能について
□投稿者/ 魔界の仮面弁士 (3749回)-(2024/02/08(Thu) 15:28:48)
No102952 (れい さん) に返信
No102951 (kiku さん) に返信
No102949 (とくま さん) に返信

> 下記コードで試してみると、「111111」は動作して「あああああ」は動作しません。

以下の環境で No102950 を試してみましたが、
今のところ事象を再現できていません。いずれも期待動作しています。

Win10 22H2 / VS2022 Enterprise 17.9.0 Preview 5.0 / .NET Framework 4.8 / AnyCPU
Win11 22H2 / VS2022 Enterprise 17.8.0 Preview 6.0 / .NET Framework 4.7.2 / AnyCPU 32bit優先
Win11 22H2 / VS2022 Enterprise 17.7.6 / .NET Framework 4.8.1 / x64
Win11 22H2 / VS2022 Enterprise 17.7.6 / .NET Framework 4.8.1 / AnyCPU 32bit優先
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.8.1 / AnyCPU
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.8.1 / x86
Win11 22H2 / VS2022 Enterprise 17.7.6 / .NET Framework 4.8 / AnyCPU 32bit優先
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.7.2 / AnyCPU
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.6 / x64
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.6 / AnyCPU
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.6 / AnyCPU 32bit優先
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.6 / x86
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.5.2 / AnyCPU 32bit優先
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4 Client Profile / AnyCPU
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4 / AnyCPU
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4 / x86
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 3.5 Client Profile / AnyCPU
Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 2.0 / AnyCPU
Win10 22H2 / VS2010 Premium 10.0.40219.1 SP1Rel / .NET Framework 4 Client Profile / x86
Win10 22H2 / VS2008 Team System 9.0.30729.1 SP / .NET Framework 3.5 / AnyCPU
Win10 22H2 / VS2008 Team System 9.0.30729.1 SP / .NET Framework 3.0 / x86
Win10 22H2 / VS2008 Team System 9.0.30729.1 SP / .NET Framework 2.0 / AnyCPU
[ 親 102942 / □ Tree ] 返信 編集キー/

▲[ 102953 ] / 返信無し
■102960 / 8階層)  Re[8]: VB.netのオートコンプリート機能について
□投稿者/ kiku (418回)-(2024/02/13(Tue) 11:58:11)
No102953 (魔界の仮面弁士 さん) に返信
> ■No102952 (れい さん) に返信
> ■No102951 (kiku さん) に返信
> ■No102949 (とくま さん) に返信
>
>>下記コードで試してみると、「111111」は動作して「あああああ」は動作しません。

> Win11 22H2 / VS2022 Enterprise 17.7.6 / .NET Framework 4.8.1 / AnyCPU 32bit優先
> Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.8.1 / AnyCPU
> Win10 22H2 / VS2022 Enterprise 17.8.6 / .NET Framework 4.8.1 / x86

Win10 22H2 / VS2022 Professional 17.8.6 / .NET Framework 4.8.1 / AnyCPU 32bit優先
上記のようにVisualStudioのバージョンを上げ、
試したところ、「111111」は動作して「あああああ」は動作しない状況はかわらずでした。
なんでしょうね。
よくわからない。
[ 親 102942 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -