//код с формы 1 событие на двойной клик по полю
private void tbCodeStreet_DoubleClick(object sender, EventArgs e)
{
frmSprStreet form = new frmSprStreet(); //создаем форму населенные пункты
form.btnSelectZero.Visible = true; //Отображаем кнопки "Выбор 0" и "Выбор" на форме населенные пункты
form.btnSelect.Visible = true;
form.ShowDialog(this); //показать модельно форму населенные пункты
}
//код с формы 3 справочника. событие на нажатие по кнопки выбор.
private void btnSelect_Click(object sender, EventArgs e)
{
//написать код для передачи данных из формы населенные пункты на форму вызвашую
frmLScheta frm = this.Owner as frmLScheta;
//frm = this.Owner
frm.tbCodeStreet.Text = dgvStreet.CurrentRow.Cells[0].Value.ToString();
frm.tbStreet.Text = dgvStreet.CurrentRow.Cells[1].Value.ToString();
this.Close();
}
//код с формы 3 справочника. событие на нажатие по кнопки выбор.
private void btnSelectZero_Click(object sender, EventArgs e)
{
//написать код для передачи "пустых данных" из формы населенные пункты на форму вызвашую
frmLScheta frm = this.Owner as frmLScheta;
frm.tbCodeStreet.Text = "";
frm.tbStreet.Text = "";
this.Close();
}
form
и отображаете как диалог. модально кстати, а не модельно.. если слово смущает, просто нагуглите модальное окно ))var frm = this.Owner;
избавляет от незнания переменной, указывающей на экземпляр класса. но именно тут и возникает ваша проблемаfrmLScheta
) поля форм нужных типов (допустим frmSprStreet SprStreet
). и пользоваться ими вместо локальных переменных. получится что то вродеvar frm = (this.Owner as frmLScheta).SprStreet;
Ничего не понялвыходит лукавите. поняли, но не очень удачно. при этом удаляете свой камент. да еще и медальку вешаете себе - тройное лукавство. фу
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinApplication
{
static class Program
{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmAuthorization());
}
public static string MyIndex;
public static string MyIndexStr;
}
}
private void tbCodeStreet_DoubleClick(object sender, EventArgs e)
{
frmSprStreet form = new frmSprStreet(); //создаем форму населенные пункты
form.btnSelectZero.Visible = true; //Отображаем кнопки "Выбор 0" и "Выбор" на форме населенные пункты
form.btnSelect.Visible = true;
form.ShowDialog(); //показать модельно форму населенные пункты
tbCodeStreet.Text = ABELS_SQL.Program.MyIndex;
tbStreet.Text = ABELS_SQL.Program.MyIndexStr;
ABELS_SQL.Program.MyIndex = "";
ABELS_SQL.Program.MyIndexStr = "";
}
private void btnSelect_Click(object sender, EventArgs e)
{
//Код для передачи данных из формы населенные пункты на форму вызвашую
ABELS_SQL.Program.MyIndex = dgvStreet.CurrentRow.Cells[0].Value.ToString();
ABELS_SQL.Program.MyIndexStr = dgvStreet.CurrentRow.Cells[1].Value.ToString();
this.Close();
}
private void btnSelectZero_Click(object sender, EventArgs e)
{
//Код для передачи "пустых данных" из формы населенные пункты на форму вызвашую
ABELS_SQL.Program.MyIndex = "";
ABELS_SQL.Program.MyIndexStr = "";
this.Close();
}