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

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

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

VB.netのオートコンプリート機能について

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

■102942 / inTopicNo.1)  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

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

これはEdgeや他のアプリも含めて、標準的なオートコンプリートの動作です。
引用返信 編集キー/
■102946 / inTopicNo.3)  Re[2]: VB.netのオートコンプリート機能について
□投稿者/ れい (2回)-(2024/02/08(Thu) 08:54:23)
No102945 (とくま さん) に返信
ご指摘ありがとうございます。
Enterで確定までしていますが、表示されない状態です。
KeyPreviewをTrueにしていたので、Enterキーの動作に問題があるのかとも考えて
Falseにしてみたりと試してはいるのですが、動作が実現できていません。
引用返信 編集キー/
■102949 / inTopicNo.4)  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

新規プロジェクトでも、提示のコードだけで再現するのですよね?
引用返信 編集キー/
■102950 / inTopicNo.5)  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

引用返信 編集キー/
■102951 / inTopicNo.6)  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

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

新しいプロジェクトでも試してみましたが、kikuさんの仰る通り状況変わらずです。
コードにも問題はなさそうなので、もう少し検証してみますが現状対処法に見当がつきません。
引用返信 編集キー/
■102953 / inTopicNo.8)  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
引用返信 編集キー/
■102960 / inTopicNo.9)  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」は動作して「あああああ」は動作しない状況はかわらずでした。
なんでしょうね。
よくわからない。
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ