作者hatasum (我很可爱)
看板C_Sharp
标题Re: [问题] RichTextBox的TextChange与真正Show结ꨠ…
时间Tue Apr 12 21:17:27 2011
※ 引述《hatasum (我很可爱)》之铭言:
: 问题:
: 当richTextBox1_TextChange改变,到richTextBox1真正的Show出来过程中
: 如果有另一件事件(event)抢先触发,则会比"richTextBox1真正的Show"还抢先进行
: 如果是这样,是否有办法让"richTextBox1真正的Show"优先处理?
: 测试的程式码:
: public Form1()
: {
: InitializeComponent();
: richTextBox1.TextChanged += new EventHandler(richTextBox1_TextChanged);
: }
: void richTextBox1_TextChanged(object sender, EventArgs e)
: {
忘了说,想尝试的人可以试试看这里加上 Application.DoEvents();
可以做到另一种很漂亮的效果
: DateTime bbb = DateTime.Now;
: while (DateTime.Now.Subtract(bbb).Milliseconds <= 100)
: {
: int aaa = 0;
: for (int i = 0; i < 1000000; i++)
: {
: aaa = 12345 * 123;
: // 这里只是要让richTextBox1_TextChanged慢一点离开
: }
: }
: }
: 依照这个程式,加上快速Keyin,结果会是
: "快速Keyin手放开後,会看到richTextBox1继续动,呈现Delay似的输出"
: 如果有办法能让richTextBox1的Show的事件优先处理,则会在
: "快速Keyin手放开後,richTextBox1的Show也停止"
: PS:不知道这样大家看不看得懂...^^"
: 如果看得懂,不知道大家有甚麽意见或者能帮我解答这问题吗??
: 麻烦大家为我解答"事件优先权"的问题^^
加上 Application.DoEvents() 与没有加入Application.DoEvents()
可以发现到Keyin的柔畅度有所不同
是否有"改变事件优先权"的方法,而不是呼叫"所有事件都做完(也就是DoEvents)"
的方法?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.240.34.213
2F:推 horngsh:推1F 04/13 08:40