网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月04日漏签0天
c#吧 关注:188,523贴子:823,150
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 11回复贴,共1页
<<返回c#吧
>0< 加载中...

帮忙看个程序

  • 只看楼主
  • 收藏

  • 回复
  • CNYHAZZ
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
RT
namespace WindowsFormsApplication11
{
public partial class Form1 : Form
{
private int i;
public delegate void GreetingDelegate(object sender,EventArgs e);
public event GreetingDelegate my = new GreetingDelegate(trackBar1_Scroll);
public Form1()
{
InitializeComponent();
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
trackBar1.Minimum = 0;
trackBar1.Maximum = 500;
trackBar1.TickFrequency = 0;
i = Convert.ToInt32(trackBar1.Value);
}
private void label1_Click(object sender, EventArgs e)
{
label1.Text = Convert.ToString(i);
}
}
}
错误: 字段初始值设定项无法引用非静态字段、方法或属性
貌似事件event只能引发静态函数哦。我动trackBar1_Scroll的时候需要点label1才能显示出数值,我想用事件连起来,有什么其他办法或者解决这个办法吗?
谢谢了。



  • CNYHAZZ
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还有我想读取或设置numericUpDown的数值,是那个属性?


2025-09-04 07:53:46
广告
不感兴趣
开通SVIP免广告
  • 杀手小多
  • c#码农
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶个先


  • 贴吧用户_0QtNXay
  • c#探索者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
class Program
{
public delegate void Event();
public event Event TheEvent;
public void MessageText1() {
Console.WriteLine("1 event!");
}
public void MessageText2()
{
Console.WriteLine("2 event!");
}
static void Main(string[] args)
{
Program p = new Program();
p.TheEvent += new Event(p.MessageText1);
p.TheEvent();
Console.WriteLine();
p.TheEvent += new Event(p.MessageText2);
p.TheEvent();
Console.WriteLine();
p.TheEvent -= new Event(p.MessageText1);
p.TheEvent();
Console.WriteLine();
Console.ReadKey();
}
}
如果事件只能引发静态函数的话,那label1_Click怎么会被引发呢?
trackBar1_Scroll我没用过,不能回答你的问题,别介意



  • CNYHAZZ
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
label1_Click要点击才引发,不点击的话文本显示的是之前的数值,我想的是我动trackBar1_Scroll的时候自动引发label1_Click,
所以我public event GreetingDelegate my = new GreetingDelegate(trackBar1_Scroll);
然后my+=label1_Click;
但是public event GreetingDelegate my = new GreetingDelegate(trackBar1_Scroll);
这里说只能引发静态函数
但是label1_Click的编译器自动编译的函数,我加上static的话trackBar1,Minimum等等就不能引用了。
没事啊,大家聊聊,你可以复习,我可以学到东西。



  • CNYHAZZ
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
namespace WindowsFormsApplication11
{
public partial class Form1 : Form
{
private int i;
public delegate void GreetingDelegate(object sender, EventArgs e);
public void Get(GreetingDelegate my)
{
my();
}
public Form1()
{
InitializeComponent();
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
trackBar1.Minimum = 0;
trackBar1.Maximum = 500;
trackBar1.TickFrequency = 0;
i = Convert.ToInt32(trackBar1.Value);
Get(label1_Click);
}
private void label1_Click(object sender, EventArgs e)
{
label1.Text = Convert.ToString(i);
}
}
改了下。我my()里面应该放什么参数啊,或者其他函数参数有错么,我委托哪里了解不是很好



  • 贴吧用户_0QtNXay
  • c#探索者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用事件
this.trackBar1.ValueChanged +=new System.EventHandler(trackBar1_ValueChanged);
public void trackBar1_ValueChanged(Object sender, EventArgs e){
你的代码....
}


  • 贴吧用户_0QtNXay
  • c#探索者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我不知道你到底想要实现什么样的功能
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void trackBar1_ValueChanged(object sender, EventArgs e) {
label1.Text = "value : " + trackBar1.Value;
}
}
另外,你需要为trackBar1添加一个ValueChange事件
这样就可以在拖动浮标的时候触发事件


2025-09-04 07:47:46
广告
不感兴趣
开通SVIP免广告
  • CNYHAZZ
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
刚学,代码是差和乱点了。
恩,我仔细看看


  • CNYHAZZ
  • c#求知者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
OK了。我表达的很乱,早想到用控件事件就好了,可能我想复习下委托和事件那里。
刚学了几天,思维很乱。谢谢咯



  • 贴吧用户_0QtNXay
  • c#探索者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我也刚学到事件,呵呵
多做做例子,了解一下就好了


  • 0611174
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你们学的好快啊,我到现在还在学类的概念!


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 11回复贴,共1页
<<返回c#吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示