小妹妹我穷,可我不想放弃啊^!!!!!!!!!!!希望各位大哥哥,大姐姐帮帮忙,真的感激不尽.至于分吗?等我可以挣得分,我也不想这样回答,可真的没有办法啊VS2005 开发 Winform C#
A . B C三个窗口
A与B的关系,在A窗体中有一个splitContainer控件,分成左右两块面板,而B窗口就放在右边,以控件的形式嵌入了.C是独立的
A的 click事件中,订阅了 C事件,B对象的方法.
objC.myEvent+=new myDelegate(objB.myMethod);
C的 click事件中,引发方法,
myEvent(string s);
定义委托的时候myDelegate(string dddd)
而B中,是方法, myMethod(string sss)
根据传进来的值,我需要填充到B窗口的文本框中.
而此刻的问题是,为什么B中没有值(从C那里传来的值啊) 啊?
也就是说怎么就没有值到到B窗口的文本框中.同样D窗口,嵌入A窗体左边面板.
当双击树节点,传值给B,在pictureBox需要重新查数据,重新绘制.按道理讲,也是委托,刷新控件就可以重新绘制.但是我可以得到传来的值,并查出数据,但是如果要看到结果,就必须先移动窗体才行啊.
A . B C三个窗口
A与B的关系,在A窗体中有一个splitContainer控件,分成左右两块面板,而B窗口就放在右边,以控件的形式嵌入了.C是独立的
A的 click事件中,订阅了 C事件,B对象的方法.
objC.myEvent+=new myDelegate(objB.myMethod);
C的 click事件中,引发方法,
myEvent(string s);
定义委托的时候myDelegate(string dddd)
而B中,是方法, myMethod(string sss)
根据传进来的值,我需要填充到B窗口的文本框中.
而此刻的问题是,为什么B中没有值(从C那里传来的值啊) 啊?
也就是说怎么就没有值到到B窗口的文本框中.同样D窗口,嵌入A窗体左边面板.
当双击树节点,传值给B,在pictureBox需要重新查数据,重新绘制.按道理讲,也是委托,刷新控件就可以重新绘制.但是我可以得到传来的值,并查出数据,但是如果要看到结果,就必须先移动窗体才行啊.
不过还是建议你贴一点关键代码。
按你的说法,似乎没什么不妥,但个人认为,你漏掉了某些细节
myEvent(string s);
这里在C的click事件里最好跟一下断点,确认是否真的执行了委托的事件(B中的方法myMethod(string sss) )
确实你的逻辑是没问题的,大概只能靠仔细跟一下你的代码了
2 确认对象引用
3 画面实在不能刷新 就 sendmessage 触发 paint事件吧
frmC objC = new frmC ();
frmB objB = new frmB ();
objC.myEvent += new myColor(objB.color_value);
objColor.Show();
C的窗体
在命名空间里 public delegate void myColor(Color s);
public event myColor myEvent;
C的 click事件中
if (myEvent != null)
{
myEvent((Color)panel1.BackColor);
this.Close();
}
B的方法
public void color_value(Color c)
{
textBox1.BackColor = c;
}D的窗口click事件
frmB objB = new frmB ();
//本来是在这里订阅事件得. this.ShowUpdate += new DisplayUpdate(Refresh_Method);
//以及方法,可是怎么都触发不了啊.
在B中定义
public delegate void DisplayUpdate();
public event DisplayUpdate ShowUpdate;
public frmB ()
{
InitializeComponent();
this.ShowUpdate += new DisplayUpdate(Refresh_Method);
}
private void Refresh_Method()
{
pictureBox1.Refresh();
}
pictureBox1_Paint(){
int newd = objD.Flag;// Flag是属性,set了选择记录值,get返回了
if (newd > 0 && ShowUpdate!=null)
{
根据newd查询,返回数据集,然后
GDI作图.
ShowUpdate();//一旦启动,不仅是抖,而且接近与死啊,
}
}
真不知道是难在哪里了,难与上青天啊.
"3 画面实在不能刷新 就 sendmessage 触发 paint事件吧"
这是何解呢?
“//一旦启动,不仅是抖,而且接近与死啊, ”知道原因了吧
我明白了!!!
由于下午,csdn我很难才能登录,因此……
也许我第一方法,在D窗体,去刷新B窗体,行不通,我改道,改成这样,惭愧惭愧.再次谢谢你们的热心,我虽不能归还给你们本人帮助,但我也会去帮助我能帮助的。大家一起加油,一起努力
三位再补给你们,或者你们告诉我怎么补救,我上次是去结得时候直接就会问哪些加分,这次居然没有