Ну, я до сих пор не знаю много о вашем случае использования, но я все равно сделаю удар и приведу простой пример.
Я предполагаю, что вы хотите что-то контролировать в главной форме из вашей плавающей формы.
Для этого вам нужна ссылка на вашу основную форму из вашей плавающей формы. Вы делаете это путем создания перегрузки конструктора в вашей плавающей форме, которая принимает экземпляр вашей основной формы, например:
public FloatingForm(MainForm mainForm)
{
InitializeComponent();
_mainForm = mainForm;
}
Плавающая форма содержит текстовое поле с именем floatFormTextBox и кнопку с именем Button1. Частичный класс для плавающей формы выглядит следующим образом:
public partial class FloatingForm : Form
{
MainForm _mainForm;
public FloatingForm()
{
InitializeComponent();
}
public FloatingForm(MainForm mainForm)
{
InitializeComponent();
_mainForm = mainForm;
}
private void button1_Click(object sender, EventArgs e)
{
_mainForm.DoSomething(floatingFormTextBox.Text);
}
}
Основная форма просто содержит текстовое поле с именем mainFormTextBox. Когда главная форма загружается, она создает экземпляр плавающей формы, передавая ссылку на себя новой перегруженной конструкции конструктора плавающей формы. Частичный класс для главной формы выглядит так:
public partial class MainForm : Form
{
FloatingForm _floatingForm;
public MainForm()
{
InitializeComponent();
}
public void DoSomething(string text)
{
mainFormTextBox.Text = text;
this.Refresh();
}
private void MainForm_Load(object sender, EventArgs e)
{
_floatingForm = new FloatingForm(this);
_floatingForm.Show();
}
}
Теперь, когда я помещаю некоторый текст в текстовое поле плавающей формы и нажимаю кнопку, текст появляется в текстовом поле основной формы.