2014-02-13 53 views
0

我使用this CodeProject來製作自定義星級控件,並且我想通過它的Click事件將它傳遞給函數。使用自己的「Click」事件將控件傳遞給函數

因此,例如,

private ctlRating_Click(object sender, EventArgs e) { 
    ChangeOutline(???); 
} 

private ChangeOutline(??? control) { 
    if(control.SelectedStar > 0) { 
     control.OutlineThickness = 0; 
    } 
    else { 
     control.OutlineThickness = 1; 
    } 
} 

我使用this關鍵字嘗試,但顯然只是指向窗體本身。我也嘗試過使用sender,但是它將它視爲沒有任何方法或值的對象。

除了使用控件的名稱(這可能更容易,但我想知道我是否可以這樣做),這是可能的嗎?

回答

2

投它

private ctlRating_Click(object sender, EventArgs e) { 
    ChangeOutline(sender as StarRatingControl); 
} 

private ChangeOutline(StarRatingControl control) { 
    if(control.SelectedStar > 0) { 
     control.OutlineThickness = 0; 
    } 
    else { 
     control.OutlineThickness = 1; 
    } 
} 
+0

這工作!謝謝! – Abluescarab

相關問題