web-dev-qa-db-ja.com

Windowsテキストボックスで文字列を大文字に変換する方法は?

Windowsアプリケーションにテキストボックスがあります。アルファベットと数字のみを使用できます。アルファベットを入力するときはいつでも大文字に変換する必要がありますが、どのようにしてどのイベントでそれを行うことができますか? str.ToUpper()を使用しましたが、カーソルは文字列の先頭に移動しています。解決策を教えてください。

20
Sukanya

CharacterChasingプロパティをUpperに変更するだけです。

textBox1.CharacterCasing = CharacterCasing.Upper

ホイールを再発明する理由は、textBoxの「CharacterCasing」プロパティを「Upper」に設定するだけです。コードを書く必要はありません。

Make letters in textBox uppercase

マスクされたテキストボックスの場合、「マスク」プロパティで「>」を使用して、後続の文字を大文字にすることができます。例えば長さ8の入力英数字文字列(A〜Z、0〜9)の場合は、マスク '> AAAAAAAA'を使用します。文字のみ(A〜Z)に制限するには、「> LLLLLLLL」を使用します。

Make letters in maskedTextBox uppercase

8
ePandit

ToUpperの結果をテキストボックスに戻す必要があります。

txtBox.Text = txtBox.Text.ToUpper();

または、テキストボックスの CharacterCasing プロパティをUpperに設定します。

txtBox.CharacterCasing = CharacterCasing.Upper;
7
Oded

KeyPressイベントを使用してみてください。ハンドラーは次のようになります。

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.KeyChar= (e.KeyChar.ToString()).ToUpper().ToCharArray()[0];
        }
2
daryal

TextBoxのプロパティで、CharacterCasingを単にUpperに設定します。入力されたすべての文字を大文字に変換します。

1
kashif

たぶん、イベントを使用する必要があります:TextBox1_EditValueChanging。

カーソルが最初の位置に移動するたびに、txtの文字数を計算し、最後の文字の後にカーソルを移動できます。

0
mihai
  1. TxtInput //これはテキストボックスのユーザー入力です
  2. LblLengthstrong //長さを示すラベル
  3. LblUpper //大文字で表示するラベル
  4. LblLower //小文字で表示するラベル
  5. LblRight //最後の3文字を示すラベル
  6. LblSubscript //文字1から3を示すラベル

//入力されたすべての文字の長さを表示

 private void BtnLength_Click(object sender, EventArgs e)
        {
            LblLength.Text = TxtInput.Text.Length.ToString();
        }

//文字を上位にする

  private void btnUpper_Click(object sender, EventArgs e)
        {
            LblUpper.Text = TxtInput.Text.ToUpper();
        }

//文字を小文字にする

 private void BtnLower_Click(object sender, EventArgs e)
        {
            LblLower.Text = TxtInput.Text.ToLower();
        }

//最後の3文字を表示

 private void BtnRight_Click(object sender, EventArgs e)
        {
            LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3);
        }

//位置1から3の文字を表示

 private void BtnSubscript_Click(object sender, EventArgs e)
        {
            LblSubscript.Text = TxtInput.Text.Substring(1, 3);
        }

// ASCII

  private void BtnGo_Click(object sender, EventArgs e)
        {
            string name;
            int letter;

            name = TxtInput.Text;

            for (int index = 0; index < name.Length; index++)
            {
                letter = name[index];
                MessageBox.Show(letter.ToString());
            }
        }

//パスワード

      int InNumTry = 0;
    private void BtnGo_Click_1(object sender, EventArgs e)
    {
        string password;
        password = TxtIn.Text;

            switch (password)
            {
                case " ": MessageBox.Show("Passowrd is empty.");
                    break;

                case "MIKE": MessageBox.Show("Password is OK!");
                    FrmBOO newForm = new FrmBOO();
                    newForm.Show();
                    break;

                default:
                    InNumTry++;
                    MessageBox.Show("Invalid Passwrod, try again!");
                    TxtIn.Text = "";
                    TxtIn.Focus();
                    break;
            }

            if (InNumTry >= 3)
            {
                MessageBox.Show("You have tried too many times, have a good day.");
                TxtIn.Enabled = false;
            }
        }

//タイマーの追加(タイマーで、この下にコードを追加(add add timer1.Start();開始フォームで)

 private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime datetime = DateTime.Now;
            this.LblTime.Text = datetime.ToString();
        }
0
Dave
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e)

{

e.KeyChar = Char.ToUpper(e.KeyChar);

}
0
Ali Issa

デザイナでTextBoxを右クリックし、[プロパティ]で[CharacterCasing]を[Upper]に変更します。

0