Решил сам проблему.
Создал глобальную переменную в модуле Program.cs
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;
}
}
далее на форме 1 и 2 вставил код вызова на двойной клик по текстовому полю
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 = "";
}
и на форме 3 справочнике на кнопки "Выбор 0" (пустого значения) и "Выбор" сделал так:
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();
}