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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.11195 の関連記事表示

<< 0 >>
■11195  反転表示のイベント処理の仕方は?
□投稿者/ yuki -(2007/12/09(Sun) 19:56:46)

    分類:[C#] 

    テキストエディタで反転表示をしたら、文字数が表示されるプログラムを
    作りたいと考えていますが、反転表示はどのような関数をつかえばよいのか
    途方に暮れています。
親記事 /過去ログ25より / 関連記事表示
削除チェック/

■11196  Re[1]: 反転表示のイベント処理の仕方は?
□投稿者/ 魔界の仮面弁士 -(2007/12/09(Sun) 20:08:47)
    No11195 (yuki さん) に返信
    > テキストエディタで反転表示をしたら、文字数が表示されるプログラムを
    
    こういう事で良いのかな…?
    
    
    public partial class Form1 : Form
    {
      public Form1()
      {
        InitializeComponent();
        richTextBox1.SelectionChanged += delegate 
        {
          label1.Text = richTextBox1.SelectionLength.ToString("#,0");
        };
      }
    }
記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11197  Re[2]: 反転表示のイベント処理の仕方は?
□投稿者/ yuki -(2007/12/09(Sun) 20:24:30)
    No11196 (魔界の仮面弁士 さん) に返信
    > ■No11195 (yuki さん) に返信
    >>テキストエディタで反転表示をしたら、文字数が表示されるプログラムを
    >
    > こういう事で良いのかな…?
    >
    >
    > public partial class Form1 : Form
    > {
    > public Form1()
    > {
    > InitializeComponent();
    > richTextBox1.SelectionChanged += delegate
    > {
    > label1.Text = richTextBox1.SelectionLength.ToString("#,0");
    > };
    > }
    > }
    有り難うございます。
    私も下記のように考えてみました動きません。どこに問題があるのでしょうか?


    private void TextBox1_Enter(object sender, EventArgs e)
    {
    this.TextBox1.Focus();
    this.TextBox1.SelectAll();
    // テキストの文字数を取得する
    int iLength = this.TextBox1.TextLength;


    // 取得したテキストの文字数を表示する
    MessageBox.Show(iLength.ToString());


    それともう一点
    richTextBox1.SelectionChanged += delegate
    の部分を日本語で説明するとどうなるのでしょうか?


記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11198  Re[3]: 反転表示のイベント処理の仕方は?
□投稿者/ 魔界の仮面弁士 -(2007/12/09(Sun) 20:29:34)
    No11197 (yuki さん) に返信
    > 私も下記のように考えてみました動きません。どこに問題があるのでしょうか?
    TextBox には、選択状況が変化したことを通知する機能がありません。
    替わりに、RichTextBox を使ってください。私のサンプルも、そうなっていますよね。

    > richTextBox1.SelectionChanged += delegate
    > の部分を日本語で説明するとどうなるのでしょうか?
    「SelectionChanged イベント」を利用するコードを書いているだけです。
    下記が参考になるかと。

    http://www.microsoft.com/japan/msdn/thisweek/300x10/phase3/AnonymousMethod/cs.aspx
記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11232  Re[4]: 反転表示のイベント処理の仕方は?
□投稿者/ yuki -(2007/12/10(Mon) 14:44:12)
記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11217  Re[3]: 反転表示のイベント処理の仕方は?
□投稿者/ PATIO -(2007/12/10(Mon) 12:00:34)
    No11197 (yuki さん) に返信
    > 私も下記のように考えてみました動きません。どこに問題があるのでしょうか?
    >
    >
    > private void TextBox1_Enter(object sender, EventArgs e)
    > {
    > this.TextBox1.Focus();
    > this.TextBox1.SelectAll();
    > // テキストの文字数を取得する
    > int iLength = this.TextBox1.TextLength;
    >
    >
    > // 取得したテキストの文字数を表示する
    > MessageBox.Show(iLength.ToString());

    ちょっと感じた事を。
    yukiさんは御自分で書かれたコードがどんな事をしていると考えていますか?

    私はこのコードを見て、

    何らかのイベントでTextBox1_Enterが呼び出されると、TextBox1にフォーカスを当てて、
    TextBox1の中の文字を全て選択状態にし、TextBox1の文字の数を取得して
    メッセージボックスで表示する

    と言う風に考えたんですが、どうでしょうか?

    御自分がイメージされている処理にあっていますか?
    私は微妙に違うように感じます。

    あと、TextBox1_Enterは呼び出されているでしょうか?
    呼び出されていないならそもそもイベントの所で既に躓いている事になりますけれど。
記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11233  Re[4]: 反転表示のイベント処理の仕方は?
□投稿者/ yuki -(2007/12/10(Mon) 14:49:46)
    No11217 (PATIO さん) に返信
    >>private void TextBox1_Enter(object sender, EventArgs e)
    >> {
    >> this.TextBox1.Focus();
    >> this.TextBox1.SelectAll();
    >> // テキストの文字数を取得する
    >> int iLength = this.TextBox1.TextLength;
    >>
    >>
    >> // 取得したテキストの文字数を表示する
    >> MessageBox.Show(iLength.ToString());
    >
    > ちょっと感じた事を。
    > yukiさんは御自分で書かれたコードがどんな事をしていると考えていますか?
    >
    > 私はこのコードを見て、
    >
    > 何らかのイベントでTextBox1_Enterが呼び出されると、TextBox1にフォーカスを当てて、
    > TextBox1の中の文字を全て選択状態にし、TextBox1の文字の数を取得して
    > メッセージボックスで表示する
    >
    > と言う風に考えたんですが、どうでしょうか?
    >
    > 御自分がイメージされている処理にあっていますか?
    > 私は微妙に違うように感じます。
    >
    > あと、TextBox1_Enterは呼び出されているでしょうか?
    > 呼び出されていないならそもそもイベントの所で既に躓いている事になりますけれど。
    >

    下記のようにしてみると自分のつくりたいものに一歩近づきましたが、
    反転表示する前に文字数が表示されます。
    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
    this.richTextBox1.Focus();
    this.richTextBox1.SelectAll();
    // テキストの文字数を取得する
    int iLength = this.richTextBox1.TextLength;


    // 取得したテキストの文字数を表示する
    MessageBox.Show(iLength.ToString());

    }

    TextBox1_Enterはどういうことを意味しているイベントなのでしょうか?
    richTextBox1_TextChangedは、テキスト内容が変化したときのイベントですよね。
    すみません、文法をしっかりおぼえておらず、どちらかいうと思いついたものを作りながら文法を
    覚えていくような学習をしているものですから、(-_-;)
記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11235  Re[5]: 反転表示のイベント処理の仕方は?
□投稿者/ ぽぴ王子 -(2007/12/10(Mon) 15:16:33)
>
    No11233 (yuki さん) に返信
    
    > 下記のようにしてみると自分のつくりたいものに一歩近づきましたが、
    > 反転表示する前に文字数が表示されます。
    >  private void richTextBox1_TextChanged(object sender, EventArgs e)
    >         {
    >             this.richTextBox1.Focus();
    >             this.richTextBox1.SelectAll();
    >             // テキストの文字数を取得する
    >             int iLength = this.richTextBox1.TextLength;
    > 
    > 
    >             // 取得したテキストの文字数を表示する
    >             MessageBox.Show(iLength.ToString());
    > 
    >         }
    
    richTextBox1.SelectAll() が実際に効果をあらわすのは、このイベントを抜けたあとになります。
    その前に MessageBox.Show で文字数を表示しているので反転表示する前に文字数が表示されます。
    
    > TextBox1_Enterはどういうことを意味しているイベントなのでしょうか?
    
    まずは MSDN をじっくり読んでみるといいです。
    TextBox1 の Enter イベントということですから、TextBox の Enter イベントであろうということが
    わかります(Button に TextBox1 なんて名前をつけていたら知りませんが)。
    ただ、この場合 TextBox の Enter イベントに対する説明はないので、元になったクラスである
    Control の Enter イベントを見ることになります。
    http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.control.enter%28VS.80%29.aspx
    
    > richTextBox1_TextChangedは、テキスト内容が変化したときのイベントですよね。
    > すみません、文法をしっかりおぼえておらず、どちらかいうと思いついたものを作りながら文法を
    > 覚えていくような学習をしているものですから、(-_-;)
    
    すみませんと謝るぐらいであれば、ちゃんと文法をしっかりおぼえるのが先だと思います。
    何も全部覚える必要はありませんし、TextBox1_Enter は TextBox の Enter イベントって言うこと
    なのかな?ぐらいで十分です。ただできればいろいろな本を読んで(どれがいいとは薦められませんが)
    「たまたまいじったらこうなった」ではなく「こういう原理で動いているからこう動くのだな」
    ぐらいに理解を深められるようになっておくと良いと思います。
    
    PATIO さんが書かれていることも似たような話ではないかと思いますが、どうでしょうか。
記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11243  Re[5]: 反転表示のイベント処理の仕方は?
□投稿者/ よねKEN -(2007/12/10(Mon) 19:36:27)
    > richTextBox1_TextChangedは、テキスト内容が変化したときのイベントですよね。

    魔界の仮面弁士さんのアドバイスでおっしゃっているのは、
    TextChangedイベントではなく、SelectionChangedイベントですが、
    その点は伝わってますか?

記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/

■11267  Re[6]: 反転表示のイベント処理の仕方は?
□投稿者/ PATIO -(2007/12/11(Tue) 11:51:07)
    No11243 (よねKEN さん) に返信
    >>richTextBox1_TextChangedは、テキスト内容が変化したときのイベントですよね。
    >
    > 魔界の仮面弁士さんのアドバイスでおっしゃっているのは、
    > TextChangedイベントではなく、SelectionChangedイベントですが、
    > その点は伝わってますか?

    そのへんが気になったので関数が呼ばれる場面について突っ込んだんです。
    選択されたらという話なんですが、書いている関数はEnterキーを押した時のイベントで起動されるわけだから
    恐らく目的にあっていないのでは?という話なのです。
    また、マウスで選択されたらということなのだろうと思ったので
    自分で選択をしているのは意味が無いのではないかなと思いました。

    具体的なオペレーションと書いているコードが微妙に違うのではないかと。

    したい事を整理して必要なコードをひねり出す為には、
    今書いているコードが何をしているのかをきちんと理解しないと無理なんです。
    そういう意味ではコードを書くときには、書いたコードの内容を一々確認していかないと
    コードの内容が発散してしまって自分自身でも収拾が付かなくなってしまいます。
    目の前のコードがどういうことを実現しているのかをまず理解する事が必要でしょう。
記事No.11195 のレス /過去ログ25より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -