zoukankan      html  css  js  c++  java
  • AutoCAD.Net/C#.Net QQ群:193522571 C# WINFORM 自定义控件如何进行强制转换?

    事情是这样的:
    我定义了一个控件A,里面包含有一个COMBOBOX控件B,A中我定义了B下拉时的事件C,而此事件C中我将sender定义成了B下拉事件的sender。
    导致外部事件C中返回的sender实际上是控件B,而不是我想要的A。
    所以在进行强制转换(A)sender时出错。

    C:
    public delegate void DataChange(object sender, EventArgs e);
    public event DataChange DataChanged;

    下面这个是错误的,用的sender,返回的是CbBase这个控件
    private void CbBase_SelectedIndexChanged(object sender, EventArgs e)
    {
    ……
    // 1.在本控件中您选定的事件中标记本事件;
    if (DataChanged != null) DataChanged(sender, new EventArgs());
    ……
    }

    下面这个是我想要返回的,为当前自定义控件
    private void CbBase_SelectedIndexChanged(object sender, EventArgs e)
    {
    ……
    // 1.在本控件中您选定的事件中标记本事件;
    if (DataChanged != null) DataChanged(this, new EventArgs());
    ……
    }

  • 相关阅读:
    朋友面试被问到---静态构造函数
    (设计模式之一)浅析简单工厂模式
    out与ref修饰符
    图解引用类型
    图解值类型
    PHP之路---1---Wamp环境配置--php环境配置
    js遮罩层弹出框
    总结
    PSP记录个人项目耗时情况
    代码复审
  • 原文地址:https://www.cnblogs.com/swtool/p/14376679.html
Copyright © 2011-2022 走看看