解决方案 »
- 根据绑定的值的不同改变gridview里某一单元格的字体或背景颜色
- DataView 问题
- ------Excel插入数据库的一个问题,谢谢
- 不知道什么原因,asp.net应用程序打不开,也不能新创建.急!!!!!!!!!高手帮忙!!!!!!!
- ASP.NET下载文件的问题,在线等高手帮忙~~
- 求多语言网站解决方案,恳请思归等高手指教
- 在线等!急!解决马上给分!如何控制面版布局?
- MVC服务端返回JSON数据出错
- 基础问题:page的服务器端代码即<%%>里面的代码是在page什么事件之后执行的?
- 未将对象引用设置到对象的实例????
- MVC action 返回JavaScript怎么变成了文件下载?
- 文本框中(法文)字符转换问题!急 在线等
C#高级编程第六版
谁要的去下载。
http://topic.csdn.net/u/20090929/11/01d65188-c96c-4a6d-ba2f-5aa26ce04a3d.html
private void frmFtpFileTree_Load(object sender, EventArgs e)
{
myThread = new Thread(new ThreadStart(Test));
myThread.Start();
}
delegate void SetVisibleDelegate(); //委托
private void Test()
{
this.Invoke(new SetVisibleDelegate(GetTreeNode));
try
{
if (myThread != null)
{
myThread.Abort();
}
}
catch
{
myThread = null;
}
}
public void GetTreeNode()
{
//do some thing
}
哎
谁能帮我解释一下
比如dropdownlist 的selectindexChanged类似这种的事件从这事件继承至哪里。做些什么事情
就像我知道这些方法,委托,。
但是不知道怎样连起来。,
public class EVentArgspublic delegate void EventHandler(object sender,EventArgs e)public event EventHandler SelectIndexChanged
你肯定晓得委托就相当于函数指针三。比如控件的事件就是一种委托,它可以实现“晚绑定”,比如Button的事件,在写这个控件时,Click事件并不知道要执行什么过错,而是在用户使用后,再确定执行什么东西。
public class EventArgs
其实就是参数。可以是任何东西。例如 int public delegate void EventHandler(object sender,EventArgs e)
委托的定义。该委托关联的函数 参数为sender和epublic event EventHandler SelectIndexChanged
事件的定义
真的是越看越晕namespace Delegate {
//定义委托,它定义了可以代表的方法的类型
public delegate void GreetingDelegate(string name);
class Program { private static void EnglishGreeting(string name) {
Console.WriteLine("Morning, " + name);
} private static void ChineseGreeting(string name) {
Console.WriteLine("早上好, " + name);
} //注意此方法,它接受一个GreetingDelegate类型的方法作为参数
private static void GreetPeople(string name, GreetingDelegate MakeGreeting) {
MakeGreeting(name);
} static void Main(string[] args) {
GreetPeople("Jimmy Zhang", EnglishGreeting);
GreetPeople("张子阳", ChineseGreeting);
Console.ReadKey();
}
}
}GreetPeople方法传了一个name和一个委托过去。
在方法里面是委托做的件事情
makeGreeting(name);在main里调用GreetPeople("张子阳",ChineseGreeting)它怎么就知道去调用ChineseGreeting呢
越想越糊
GreetPeople("张子阳",ChineseGreeting)
你把GreetingDelegate 当成一个类,ChineseGreeting当成GreetingDelegate 实例化后的对象还难理解吗?实际也是这样的
按照MS规定的方法去写代码,很多东西就有了所以然...这叫哲学解决问题,开个玩笑....大家勿ma!!!
贴段代码可以和你上面的比较下
//定义接口,它定义了方法的类型
public interface IGreeting
{
void Greeting(string name);
}
public class EnglishGreeting : IGreeting
{
public void Greeting(string name)
{
Console.WriteLine("Morning, " + name);
}
}
public class ChineseGreeting : IGreeting
{
public void Greeting(string name)
{
Console.WriteLine("早上好, " + name);
}
} //注意此方法,它接受一个IGreeting类型的对象作为参数
private static void GreetPeople(string name, IGreeting MakeGreeting)
{
MakeGreeting.Greeting(name);
}
static void Main(string[] args)
{
EnglishGreeting englishGreeting = new EnglishGreeting();
ChineseGreeting chineseGreeting = new ChineseGreeting();
GreetPeople("Jimmy Zhang", englishGreeting);
GreetPeople("张子阳", chineseGreeting);
Console.ReadKey();
}
后来看委托也是卡卡的,看是看懂了,但是死活不明白为什么要这样写。后来硬着头皮照葫芦画瓢,画多了也就明白了。
看100遍不如自己写一遍。
http://topic.csdn.net/u/20090930/11/b317a7bb-6ed0-4bb8-b5a9-6fc0606098db.html
你平常可以尝试把你的设计思路讲给完全不懂编程没接触过编程的门外汉听,由此下来你对设计的驾驭和把握将更上几个台阶。
不要太介意sp1234语义制导上面的缺陷,客观的说sp1234说的话丢给一般的编译器会报语法错,但丝毫不影响自然人对其言语精髓的理解。