台灣最大程式設計社群網站
線上人數
1680
 
會員總數:239936
討論主題:186063
歡迎您免費加入會員
討論區列表 >> C# >> 事件 應用
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
事件 應用
價值 : 30 QP  點閱數:207 回應數:4

樓主

gh .net
門外漢
0 22
158 16
發送站內信

對於事件的定義、語法,實在看不懂
從一些文章看出事件,用在觀察某一物件、屬性
當其他物件對觀察物件作出存取時,也可得知他的變化

但實際的語法實在看不明白
如果當一個變數值變更時
我就要觸發事件
同時會執行兩個方法
要怎麼做



搜尋相關Tags的文章: [ event ] , [ 事件 ] ,
本篇文章發表於2017-03-15 09:54
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

gh .net
檢舉此回應
例如 MSDN的範例
using System;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Counter c = new Counter(new Random().Next(10));
c.ThresholdReached += c_ThresholdReached;

Console.WriteLine("press 'a' key to increase total");
while (Console.ReadKey(true).KeyChar == 'a')
{
Console.WriteLine("adding one");
c.Add(1);
}
}

static void c_ThresholdReached(object sender, EventArgs e)
{
Console.WriteLine("The threshold was reached.");
Environment.Exit(0);
}
}

class Counter
{
private int threshold;
private int total;

public Counter(int passedThreshold)
{
threshold = passedThreshold;
}

public void Add(int x)
{
total += x;
if (total >= threshold)
{
OnThresholdReached(EventArgs.Empty);
}
}

protected virtual void OnThresholdReached(EventArgs e)
{
EventHandler handler = ThresholdReached;
if (handler != null)
{
handler(this, e);
}
}

public event EventHandler ThresholdReached;
}
}
事件ThresholdReached的處理方法是哪一段
觸發事件的方法又在哪一段
本篇文章回覆於2017-03-15 10:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

gh .net
檢舉此回應
如果我要使用thread執行 方法(計算)
方法(計算)的過程觸發事件
然後透過事件要存取兩個控制項要怎麼做
本篇文章回覆於2017-03-15 11:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

春天
檢舉此回應
多執行續的話會遇到一些跨執行緒存取控制項上的問題

本篇文章回覆於2017-03-15 12:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

gh .net
檢舉此回應
是不是沒辦法透過thread
執行thread(testEvent.add)方法?
本篇文章回覆於2017-03-15 15:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.