アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になります。
VS.Net 2003でC#でアプリをつくっています。

フォームにRichTextBoxを2つ並べてあり、互いのスクロールバーを連動させようとしています。
片方を動かすともう片方もスクロールするという動作です。
(互いの行数は常に同じになるようにしています)

実現方法をご教授ねがえますでしょうか・・・
よろしくおねがいします。

A 回答 (1件)

ここは C/C++ のカテゴリで、C#ではないですよ。


すれ違いです。

といっても、C#がないので仕方ないっちゃ仕方ないかもしれませんが…
参考URLにVisualC#フォーラムのアドレス張っておきましたので、そちらを利用してください。


それで、解決法ですが、あんまり詳しくないので参考程度にしてください。
コントロールに対する直接的な処理は.NETでは出来ませんので、APIを利用します。

[DllImport("USER32.dll")]
private static extern IntPtr SendMessage (IntPtr hWnd , int msg , int wp, out Point lp);

private const int EM_GETSCROLLPOS = 0x04DD;
private const int EM_SETSCROLLPOS = 0x04DE;

private void richTextBox1_VScroll(object sender, System.EventArgs e)
{
 Point pt;
 SendMessage(richTextBox1.Handle, EM_GETSCROLLPOS, 0, out pt);
 SendMessage(richTextBox2.Handle, EM_SETSCROLLPOS, 0, out pt);
}

ただし問題が…
VScrollイベントは、▲▼ボタンを押したときに来るようで、スクロールバーを操作してもイベントが来ませんでした。
直接的な操作は、C#では難しいってことでしょうかね…

参考URL:http://forums.belution.com/ja/csharp/
    • good
    • 1
この回答へのお礼

ありがとうございました!
応用させてやりたい処理が行うことができました!
大いに助かりました!

C#の質問はいつもどこにしたら良いか迷っています。
フォーラム参考にします。
ありがとうございました。

お礼日時:2006/09/25 11:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!