メモ帳アプリ開発の「その3」です。
本記事では、メモ帳アプリの一番下「ステータスバー」に情報を表示してみたいと思います。
【C#】メモ帳アプリ開発 ウインドウ下にステータスバーを設置!文字数など表示してみる
ここでは、入力されたテキストの文字数をカウントし表示してみたいと思います!
前述のとおり、ステータスバーを設置していきます。
画面下にStatusStripを配置する
ツールボックスから「StatusStrip」を選択します。
画面の上でクリックすると、自動的にフォームの下にステータスバーが追加されます。
ここで「StatusLabel」を表示するように選択します。
※他には、プログレスバーやボタンなどの表示が可能となっています。
Textの文字列は削除しておきます。デバッグ実行してみましょう。
こんな感じで、何も表示されていないステータスバーが表示されたと思います。
次はここに文字数を表示してみましょう。
文字数をカウントする方法
まずは文字数はどうやってカウントするんだ?を解説。
といっても超簡単。
例えばこんなコードを実装して、実行してみてください。
1 2 3 | string text = "あいうえお"; int length = <span class="ymarker-s">text.Length</span>; Debug.WriteLine(length); |
すると「5」と出力されると思います。
そうです、textのLengthで文字列の長さ(文字数)を取得することができます。
ステータスバーに文字数を表示する
TextBoxのTextChangedイベントを追加
TextBoxに文字が入力されるたびにステータスバーの表示を更新する必要があります。
そのために、TextBoxの「TextChanged」イベントを使っていきたいとおもいます。
TextBoxのプロパティで「TextChanged」イベントを実装します。
※画像の「TextBox_TextChanged」と書いてあるところをダブルクリックしてあげると、自動でイベント関数が追加されます。
TextBoxのTextChangedイベントを実装する
先ほどの、stringから文字数を取得するLengthを利用して。
コードはこんな感じ。
1 2 3 4 | private void TextBox_TextChanged(object sender, EventArgs e) { this.toolStripStatusLabelCount.Text = <span class="ymarker-s">this.textBox.Text.Length</span>.ToString(); } |
TextBoxのテキストが変更されるたびに、このイベントが処理されます。
this.textBox.Text.Length.ToString();
これで、文字数を取得し、それを文字列に変換し、ステータスバーのLabel.Textに設定してあげます。
これだけです。
デバッグ実行して、動作確認してみてください。
画面下に文字数「36」というのが表示されました!
でもこれだとちょっと物足りないので、「文字数 36」と表示してみたいとおもいます。
1 2 3 4 5 6 | private void TextBox_TextChanged(object sender, EventArgs e) { string text = string.Format("文字数 {0}", this.textBox.Text.Length); this.toolStripStatusLabelCount.Text = text; } |
これで完了です!
まとめ|ウインドウ下にステータスバーに文字数を表示
- StatusStripを配置してステータスバーを設置
- 文字数の取得はstringの「Length」プロパティで可能
さて、次回は「ウインドウ上にメニューを作成する」。
【C#】メモ帳アプリ開発 ウインドウ上にメニューを設置 ファイル新規作成、アプリ終了などを実装(その4)
メモ帳アプリ開発の「その4」になります。 アプリの上部にメニューバーを表示して、いろんな操作ができるようにしてみたいと思います。 【C#】メモ帳アプリ開発 ウインドウ上にメニューを設置 ファイル新規作 ...
続きを見る