23

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

4

9 に答える 9

63

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

textBox1.CharacterCasing = CharacterCasing.Upper
于 2012-04-11T10:56:00.067 に答える
8

ToUpperbackの結果をテキスト ボックスに割り当てる必要があります。

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

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

txtBox.CharacterCasing = CharacterCasing.Upper;
于 2012-04-11T10:55:35.870 に答える
3

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

于 2012-04-11T15:49:21.277 に答える
2
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e)

{

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

}
于 2012-04-11T10:59:35.957 に答える
2

KeyPress イベントを使用してみると、ハンドラーは次のようになります。

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.KeyChar= (e.KeyChar.ToString()).ToUpper().ToCharArray()[0];
        }
于 2012-04-11T10:56:33.617 に答える
1

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

于 2014-10-24T12:30:31.157 に答える
0

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

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

于 2012-04-11T10:58:44.327 に答える
0
  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 timer1.Start(); を追加します)

 private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime datetime = DateTime.Now;
            this.LblTime.Text = datetime.ToString();
        }
于 2014-04-03T01:36:35.310 に答える