使用函数自己的 "Click" 事件将控件传递给函数



我使用此 CodeProject 创建自定义星级控件,我想使用其 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 ,但这将其视为没有任何方法或值的对象。

除了仅使用控件的名称(这可能更容易,但我想知道我是否可以这样做)之外,这是否可能?

投射它

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;
    }
}

相关内容

  • 没有找到相关文章

最新更新