【问题】
折腾:
的过程中,主窗体写好了,在写另外一个子窗体时,需要获得主窗体中的一个Label控件的值。
【解决过程】
1.参考:
去给子窗体中添加一个函数,用于初始化当前的某些变量,即把需要的一些值,在主窗体new的时候,通过此函数赋值给子窗体中的变量,这样子窗体就可以使用了。
2.然后就写了如下代码:
主窗体中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ... namespace downloadSongtasteMusic { public partial class frmDownloadSongtasteMusic : Form { ... private string curFullFilename; ... private void btnDownload_Click( object sender, EventArgs e) { ... //test open hint window completeHint hintWindow = new completeHint(); hintWindow.initParameter(curFullFilename, txbSaveTo.Text); hintWindow.Show(); } ... } |
子窗体中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ... namespace downloadSongtasteMusic { public partial class completeHint : Form { private string curFullFilename; private string curFolderPath; ... public void initParameter( string fullFilename, string folderPath) { curFullFilename = fullFilename; curFolderPath = folderPath; } ... private void lklOpenFolder_LinkClicked( object sender, LinkLabelLinkClickedEventArgs e) { //open folder //System.Diagnostics.Process.Start("Explorer.exe","C:\\"); //System.Diagnostics.Process.Start("C:\\"); System.Diagnostics.Process.Start(curFolderPath); //System.Diagnostics.Process.Start("Explorer.exe", txbSaveTo.Text); } } } |
1 | |
【总结】
通过使用new去初始化新窗体之前,通过函数实现赋值,如此即可实现:
从一个(子)窗体(completeHint)中,获得另外一个(父)窗体中的参数(txbSaveTo.Text,即赋值给子窗体中的curFolderPath)。