目前在一個相機采集的程式里用了多個相機,想呼叫同一個回呼函式,通過回呼函式里的引數來區分不同的相機。

網上的資料說用Tag,但Tag只能是控制元件的Event里添加,這個類的Event里好像沒有Tag
uj5u.com熱心網友回復:
兩個方法。一種方法,是檢查事件的發起者。一般來說,事件回呼中的sender,是發出事件的主體。可以試試:
void OnImageGrabbed1(object sender, ImageGrabbedEventArgs e)
{
var camera = sender as Camera;
if (camera != null)
{
// ...
}
}
另一種方法,是把相機以及相機采集,聚合到一個類下:
public class MyCameraCapture
{
Camera _camera;
public MyCameraCapture()
{
_camera = new Camera(...);
_camera.ImageGrabbed += this.OnImageGrabbed;
}
void OnImageGrabbed(object sender, ImageGrabbedEventArgs e)
{
// _camera就是觸發此事件的相機。
}
}
// 然后用MyCameraCapture[]陣列來管理多個相機采集。
uj5u.com熱心網友回復:
感謝,非常詳細uj5u.com熱心網友回復:
現在是通過這種方法傳引數,剛好相機的引數里有一個自定義資料區。

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/83749.html
標籤:C#
