我已经使用此代码将工具控件连接到another1:
--- Form1.cs
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
frm.Show();
}
public string LabelText
{
get { return Lbl.Text; }
set { Lbl.Text = value; }
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
--- Form2.cs
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private Form1 mainForm = null;
public Form2(Form callingForm)
{
mainForm = callingForm as Form1;
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
this.mainForm.LabelText = txtMessage.Text;
if (timer1.Enabled == true)
{
int line = 1 + richTextBox1.GetLineFromCharIndex(richTextBox1.GetFirstCharIndexOfCurrentLine());
int column = 1 + richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexOfCurrentLine();
txtMessage.Text = "line: " + line.ToString() + " , column: " + column.ToString();
}
}
}
*****输出为**
Form2中的标签文本已连接到Form1。
所以它已经修好了。
现在我的问题是有没有办法可以对void函数做同样的方法?
我的意思是: 在Form1中,我得到了一个带有控件的1按钮: richTextBox1.Copy(); 那么这个控件将用于Form2上的richTextBox1。 (它将在Form2上的richtextbox中复制所选文本) 那可能吗?真的需要一个帮助。提前很多!
答案 0 :(得分:1)
这里有一些东西让你入门:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Form2 frm2 = new Form2(this);
}
}
并确保richTextBox1
被声明为public
。
和
public partial class Form2 : Form
{
Form1 sendingForm;
public Form2(Form1 frm1)
{
InitializeComponent();
sendingForm = frm1;
}
private void button1_Click(object sender, EventArgs e)
{
Text = sendingForm.richTextBox1.Text;
}
}
这里做的是:使用对发件人Form2
实例的引用初始化Form1
实例,并使用该引用转到RichTextBox
。
编辑:
也许(!)这就是你要找的东西:
mainForm.richTextBox1.Copy();
答案 1 :(得分:0)
您将Form2的声明移至Class级别:
<强> - Form1中强>
Form2 frm = null;
private void button1_Click(object sender, EventArgs e)
{
frm = new Form2(this);
frm.Show();
}
private void button2_Click(object sender, EventArgs e)
{
if (frm != null)
{
frm.CopyRichTextBox();
}
}
<强> - 窗体2 强>
public void CopyRichTextBox()
{
this.richTextBox1.Copy();
}