窗体间的通信(方法的调用)

最近在C#学习中做一个类似QQ的项目!其中就遇到一个问题。就是在操作一个窗体时另一个窗体的一些值会跟随当前操作窗体的选择变化而变化!(高手就不要说简单了哈!写给新手的。),接下来就说具体过程了:

现在有一个头像窗体(放头像的)Face

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

还有一个显示头像的窗体TestFrm

 

现在的要求就是当选择Face窗体中的头像时,当点击Choice按钮后测试窗体中的头像也相应的改变。接下来就说代码部分。(只说窗体传值部分),要想更换图片。首先在测试窗体中自写一个方法用来更换图片

//显示头像方法
        public void ShowFace(int cur)
        {
            picHead.Image = imageList1.Images[cur];
           
        }

然后在Face窗体中写上

 public  TestFrm test;

 

因为这个Face窗体是当点击Test窗体的头像控件后才显示出来的。所以在头像控件的Click事件中要写显示Face窗体的语句。

Face face = new Face();
            face.test = this;   //关键代码
            face.Show();

然后在Face窗体中的Choice控件的click事件中调用更换图片的方法就可以了!

int faceID = lisFace.SelectedItems[0].ImageIndex;    //得到当前选中项的索引
            test.ShowFace(faceID);   //调用方法显示头像

好了!总结下主要关键:face.test=this;  这是关键。。不然无法实现。

希望能给C#新手带来点帮助!

 

你可能感兴趣的:(C#学习技巧,imagelist,c#,测试,qq)