Маленькая непонятка с C#...

программирование C#

Имеются две формы Form1 и Form2. В первой форме имеются поле текста (textBox1) и кнопка "Шрифт". При нажатии кнопки "Шрифт" открывается вторая форма, в которой имеются список с тремя шрифтами (comboBox1) и кнопка применения параметров к тексту в поле ввода первой формы. Как передать параметры текста из Form2 в Form1 (в первую форму) ?

Вот, что имеется:

Form1:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

// Кнопка параметров шрифта
private void button1_Click(object sender, EventArgs e)
{
Form2 font = new Form2();
font.ShowInTaskbar = false; // скрываем с панели задач
font.ShowDialog();
}

// Кнопка сохранения
private void button2_Click(object sender, EventArgs e)
{
Directory.CreateDirectory("C:\\my_dir"); // Создание директории

// Запись
string lines = "" + textBox1.Text;
File.WriteAllText(@"C:\\my_dir\LAB_7.txt", lines);
}

// Кнопка выхода
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

Form2:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

// Список с шрифтами
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.Text)
{
case "Arial":
Font font_1 = new Font("Arial", this.Font.Size);
comboBox1.Font = font_1;
break;

case "Courier New":
Font font_2 = new Font("Courier New", this.Font.Size);
comboBox1.Font = font_2;
break;

case "Times New Roman":
Font font_3 = new Font("Times New Roman", this.Font.Size);
comboBox1.Font = font_3;
break;

default:
Font def_font = new Font("Arial", this.Font.Size);
comboBox1.Font = def_font;
break;
}
}

// Размер шрифта (8-20, 2)
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{

}

// Кнопка применения параметров к textBox1 первой формы
private void button1_Click(object sender, EventArgs e)
{
Form1 form_1 = this.Owner as Form1; // устанавливаем обратную связь
this.comboBox1.Font = form_1.textBox1.Font;
this.Close();
}
}
}

P.S> Как я думаю, вы поняли, что это текстовый редактор. Реализовать передачу параметров текста необходимо не нарушая принципов ООП.

Примечание:
Не работает, да и там нет связи с comboBox1...
Ответы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
Примечание №1
А оно нужно разве, какая-то связь?


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.