我有改變所述主窗體上的文本框這就是文本的功能的主要形式的功能,代碼如下:調用從另一種形式的C#
主要形式功能:
public void consoleLog(string message)
{
txtConsoleLog.Text += Environment.NewLine;
txtConsoleLog.Text += message;
txtConsoleLog.SelectionStart = txtConsoleLog.TextLength;
txtConsoleLog.ScrollToCaret();
txtConsoleLog.Refresh();
}
所以現在我打開一個FRM所謂的新形式連接當我點擊這樣的按鈕:
private void connectToolStripMenuItem_Click(object sender, EventArgs e)
{
Form frmConnect = new FrmConnect(this);
frmConnect.Show();
}
這是frmConnect低於
public partial class FrmConnect : Form
{
private Form mainForm;
public FrmConnect(Form frmMain)
{
this.mainForm = frmMain;
InitializeComponent();
}
private void btnConnect_Click(object sender, EventArgs e)
{
FrmMain.Connected = true;
mainForm.consoleLog("Connected");
}
}
所以,當我點擊一個按鈕,我想調用該函數,但它說它不包含它的定義,也即時試圖改變'連接'變量多數民衆贊成在主窗體的工作,只是參考FrmMain但我能做到這一點使用mainForm.Connected = true?
如果我改變功能的公共一成不變的,它會通過引用FrmMain工作,但後來我得到與txtConsoleLog錯誤,因爲我不能在非靜態方法或類似的東西引用的對象,任何幫助appriciated
現在它的意思是「不能將類型system.windows.Forms.Form轉換爲Project1.FrmMain,當我嘗試執行此操作時.mainForm = frmMain; –
你確定你改變了這兩個點的類型嗎? –
哎呀,現在我有,它的工作原理,謝謝 –