标题:关于在 C# 中自定义几个事件的问题
只看楼主
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
结帖率:90%
已结贴  问题点数:50 回复次数:8 
关于在 C# 中自定义几个事件的问题
关于在 C# 中自定义几个事件的问题
程序要求在一个按钮事件中调用几个自定义的事件(方法),至于自定义事件的内容各有不同,这个自己可以完成,现在关键是这个自定义的事件(方法)的命名与调用,自己接触 C# 时间不长,仅仅几个月,不太熟悉,希望高手指教,需要有实际的案例,如果能够解决,本人承诺支付150元人民币,绝不失言,另外,赠送200个积分,如果有兴趣,可以私信我。
搜索更多相关主题的帖子: 事件 方法 调用 自定义 C# 
2021-05-07 12:06
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:0 
希望 C# 论坛的各版主 zbjzbj、bifujian112、小磊侠客、sunqian6611 能够为我解决问题!
当然也希望其他能够有这方面特长的朋友积极参与。

请不要选我!!!
2021-05-07 12:13
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:0 
怎么没有人理我呀?
最近在网上查了一下说可以使用类来实现,但对类不熟,也可以说一无所知,因此希望对类比较清楚的高手指教一下,谢谢,承诺依旧。

请不要选我!!!
2021-05-08 11:45
venomlk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:85
注 册:2009-2-18
得分:5 
没看懂楼主的意思。。指的是使用委托事件?还是在类中使用接口?
2021-05-08 17:08
qq2889577966
Rank: 4
等 级:业余侠客
威 望:5
帖 子:57
专家分:267
注 册:2021-4-14
得分:10 
虽然不太明白你的意思,我想大概是这样的吧
类里面包含UserControl,在里面自定义事件?
参考下,希望有帮助
链接:https://pan.baidu.com/s/1KXl-OVra9S09xCXKANWSqA
提取码:hubf
里面都是自定义,并自动生成代码地。全源码,无第三方DLL的坑。
WPF的,类定义UserControl各组件事件,并生成代码,并自动编译exe。
如选择了“开机服务启动”,安装完成后,将在windows的system32文件夹内生成一个“Server_StartApp.exe”的exe文件,设置为开机60秒后调用exe文件,服务调用调用带窗口的exe文件穿透session在代码Install_CreatServer.cs中查看。
生成安装包会生成“setup_res.resources”、“ServerTmp.~exe”临时文件,可删除,生成成功后,生成“~Setup.exe”,改名后即可使用,在“编译配置”中可为其指定图标等。
操作流程:添加文件夹->编译配置->放置组件->生成exe。
2021-05-08 17:45
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:0 
谢谢 qq2889577966 及 venomlk!
qq2889577966 提供的百度网盘的文件好像不是我需要的
我的意图是:在一个按钮事件中调用几个自定义的事件(方法),自定义事件(方法)实现的功能各有不同,这个自己可以完成,现在关键是这个自定义的事件(方法)的命名与怎么在按钮事件中调用这个自定义的事件(方法)。例如在 C# 中自定义的事件:
程序代码:
private DataTable GetMessage()
        {
            string P_Str_ConnectionStr = string.Format(@"Server=.;Database=数据库;uid=sa;pwd=");
            string P_Str_SqlStr = string.Format(strSQL);
            SqlDataAdapter P_Str_SqlDataAdapter = new SqlDataAdapter(P_Str_SqlStr, P_Str_ConnectionStr);
            DataTable P_dt = new DataTable();//创建数据表
            P_Str_SqlDataAdapter.Fill(P_dt);//填充数据表
            return P_dt;//返回数据表
        }

可以在按钮事件中调用:
dataGridView1.DataSource = GetMessage();

注意:事件名 GetMessage() 与调用时的事件名称是一样的,也是 GetMessage()。
但这个是借助控件 dataGridView1 实现的,我的意思是不借助任何控件,全部使用代码语句,自定义事件(方法),在按钮事件中调用。
好像以前的 VB 6.0 一样,自定义过程,然后使用 Call 语句调用一样。

[此贴子已经被作者于2021-5-9 14:10编辑过]


请不要选我!!!
2021-05-09 14:03
qq2889577966
Rank: 4
等 级:业余侠客
威 望:5
帖 子:57
专家分:267
注 册:2021-4-14
得分:5 
扩展方法,这样子么?
namespace Test_2
{
    public static class StringExtension
    {
        public static int WordCount(this string str)
        {
            return str.Length;
        }
    }

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            int t = this.Name.WordCount(); // 窗口调用方法

            Label label = new Label() { Text = "Copyright (c) 2021", };
            this.Controls.Add(label);
            int n = label.Text.WordCount(); // label调用方法
        }
    }
}
2021-05-09 18:38
venomlk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:85
注 册:2009-2-18
得分:30 
貌似还没理解楼主的意思。。不知以下思路是否跟楼主说的问题对的上。。

思路1:
弄一个全局DataTable dt(各个“方法”的返回值都赋值给这个DataTable--->dt=GetMessage()或dt=GetMessage1()、dt=GetMessage2())
思路2:
定义一个委托delegate void wt,前期通过判断语句把相关“方法”绑定到委托上,后续直接调用委托(wd1=GetMessage()或wt1=GetMessage1()、wt1=GetMessage2())
2021-05-10 09:39
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:0 
想了另外的办法解决了,谢谢大家的热情参与。

请不要选我!!!
2021-05-11 15:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505669-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.105686 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved