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

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

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

Re[2]: オートコンプリート使用時のkye_press動作のさせ方


(過去ログ 101 を表示中)

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

■60644 / inTopicNo.1)  オートコンプリート使用時のkye_press動作のさせ方
  
□投稿者/ 裕猫 (239回)-(2011/07/13(Wed) 13:29:49)

分類:[C#] 

開発環境
OS: WindowsXP SP3
言語: VisualStudio2008 C#

textbox1にオートコンプリート機能を組み込みました。textbox1のプロパティで
AutoCompleteMode を Suggest  AutoCompleteSorce を CustomSource に設定してあります。
        private void textBox1_Enter(object sender, EventArgs e)
        {
            textBox1.AutoCompleteCustomSource = ACSC(OraList());
        }

        private AutoCompleteStringCollection ACSC(string[] LST)
        {
            AutoCompleteStringCollection TXLST = new AutoCompleteStringCollection();
            TXLST.AddRange(LST);
            return TXLST;
        }

        private string[] OraList()
        {
            List<string> LST = new List<string>();
            using (OracleConnection con = new OracleConnection())
            {
                try
                {
                    con.ConnectionString = MKST.UID;
                    con.Open();
                    using (OracleCommand cmd = con.CreateCommand())
                    {
                        cmd.CommandText = "select 品番,番号 from 製品台帳";
                        using (OracleDataReader dr = cmd.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                if (dr[1].ToString() == "00") { LST.Add(dr[0].ToString()); }
                            }
                        }
                    }
                }
                catch (OracleException OEX) { MessageBox.Show(OEX.Message); }
                catch (Exception EX) { MessageBox.Show(EX.Message); }
            }
            return LST.ToArray();
        }
として組み込み動作はするのですが
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Enter)
            {
                e.Handled = true;
                textBox2.Focus();
            }
        }
がありますが、オートコンプリートが働いているとtextBox1_KeyPressの動作が働きません。どうしたら
textBox1_KeyPressの動きをさせられるでしょう?よろしくお願いいたします。

引用返信 編集キー/
■60647 / inTopicNo.2)  Re[1]: オートコンプリート使用時のkye_press動作のさせ方
□投稿者/ shu (847回)-(2011/07/13(Wed) 15:21:14)
No60644 (裕猫 さん) に返信

FormのKeyPreviewをTrueにしてエンター移動をFormのKeyPressで処理すれば
いいんじゃないかな?
引用返信 編集キー/
■60651 / inTopicNo.3)  Re[1]: オートコンプリート使用時のkye_press動作のさせ方
□投稿者/ 逆運の覇者 (32回)-(2011/07/13(Wed) 15:29:26)
FormのKeyPreviewプロパティをtrueにしてみてください。
引用返信 編集キー/
■60654 / inTopicNo.4)  Re[2]: オートコンプリート使用時のkye_press動作のさせ方
□投稿者/ 裕猫 (240回)-(2011/07/13(Wed) 16:18:39)
No60647 (shu さん)(逆運の覇者 さん) に返信
> FormのKeyPreviewをTrueにしてエンター移動をFormのKeyPressで処理すれば
> いいんじゃないかな?
FormのKeyPreviewをTrueにしただけではだめですけどFormのKeyPressで処理すればできそうです。処理の部分を今いろいろ試しています。
ありがとうございました。 shuさんにはここのところ連続で助けていただいてます。感謝感謝です。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -