作者Ovaltine1015 (寻找我的Tone!!)
看板C_Sharp
标题[问题] 请问一下两个form之间讯息如何互传?
时间Sun Sep 12 17:40:34 2004
不好意思,我又来发问了,由於刚接触windows forms,
所以蛮多介面只会拉而不知其所以然,
所以小弟又来请教各位前辈一些问题了,
现在我有一个主要的form ==>
Painter(主要是做绘图的)
然後我又弄了另一个form ==>
TextLayer
(这主要是想让使用管理输入的文字,有点像photoshop里面的Layer)
------------------------- 想达到的功能 ----------------------------
当使用者在
Painter按下toolbar其中一个按钮时,
我就使用
TextLayer.Show()叫出视窗,
然後在
TextLayer中,当使用者按下一个删除钮时,
我必须更新宣告於
Painter中储存文字的ArrayList(称textArray),
使其textArray少一个字串,并同时呼叫
Painter的Invalidate(),
让整个
Painter能绘制最新的画面......
--------------------------------------------------------------------
我之前为了能更新那ArrayList,将其宣告为static,
然後直接在TextLayer中某个ButtonClick函式中直接存取Painter.textArray,
但是我却不知如何通知Painter重会显示区域....
所以想请问各位前辈,在两个form之间互传讯息时,有没有什麽其他的方式?
另外,我该如何在ButtonClick函式中通知Painter该重新绘制显示区域呢?
以下是TextLayer中的函式....
private void btn_DelText_Click(object sender, System.EventArgs e)
{
this.Close();
if(TextList.SelectedIndex>=0)
PainterPro.DeleteText(TextList.SelectedIndex);
}
想请问一下那个sender,指得是那个物件?
是TextLayer吗? 有办法从这里access到Painter这个物件吗?
感谢大家耐心看完,还烦请各位前辈指导了~~~~
最後还想请问一下各位,这部分是否有哪些不错的参考书籍或是网站呢?
我觉得我现在只会拉来拉去,却不知道整个脉络、概念,感觉有点不踏实,
还请各位前辈多多推荐优良读物......谢谢大家...... ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.185.47