Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 3
1
.NET 4.x

Обмен данными между формами

18.05.2014, 22:41. Показов 2394. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача следующая. Нужно чтобы в форме Form2 был доступ к данным, созданным в классе stroka из формы Form1 (иными словами – обеспечить работу с экземпляром класса strokа)
В конце листнга создание класса sroka, в котором есть некая переменная типа стринг.

Листинг в форме 1.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 Form1 : Form
    {
        private stroka str; //делаю ссылку на класс
        public Form1()
        {
            InitializeComponent();
            str = new stroka(); // создаю экземпляр
            str.a = "asdfg";        // вот передать значения переменных без
            textBoxMain.Text = str.a; // проблем, но речь не об этом.
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
 
        private void buttonMain_Click(object sender, EventArgs e)
        {
            str.a = textBoxMain.Text; // По нажатию кнопки открывается вторая
                        // форма Form2. Данные передаются без проблем 
                        // Но речь не об этом)))
            Form2 frm2 = new Form2(str); // А вот и ссылка на объект и плавно переходим
                         // ко второму листингу.
            frm2.ShowDialog();
        }
    }
 
    class stroka
    {
        public string a;
    }
 }
Листинг 2. Форма 2.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        private stroka str2; // Делаю указатель
 
        public Form2(stroka Astr) // И вот тут начинается. Подчеркивает
                    // Form2 синей волнистой и пишет… (см текст ниже)
        {
 
            InitializeComponent();
            str2 = Astr;
            
        }
 
        private void Form2_Load(object sender, EventArgs e)
        {
 
        }
    }
}
Вот что пишет:
«Ошибка 1 Несовместимость по доступности: доступность типа параметра "WindowsFormsApplication1.stroka" ниже доступности метода "WindowsFormsApplication1.Form2.Form2(WindowsFormsApplication1.stroka)"C:\...\Fo rm2.cs»
Ковырялся бы и дальше сам, но наткнулся в сети на похожий код, потом тютелька в тютельку сделал как там, и все равно хрень выходит.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2014, 22:41
Ответы с готовыми решениями:

Обмен данными между формами
Есть две формы , допустим Form1 и Form2. В Form1 есть класс MyClass1, объект которого создается там...

Обмен данными между формами
Всем привет Имеется 2 открытые формы, необходимо при клике передать данный с 2 формы на 1, без...

Обмен данными между формами
форма родитель имеет кнопку, при нажатии на которую создаётся ребёнок. у ребёнка есть picturebox и...

Обмен данными между формами
Работаю в Visual Studio 2008, приложение Windows Forms. Есть две формы (Form1 и Form2). На Form2...

2
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
18.05.2014, 23:17 2
Класс приватный, конструктор публичный, соответственно любой, кто попробует к такому конструктору обратиться, ничего туда передать не сможет. Сделайте класс публичным и будет счастье...
C#
1
2
3
4
public class stroka
{
    // ...
}
0
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 3
19.05.2014, 20:42  [ТС] 3
Spawn, ты гений! Респект и уважуха!
0
19.05.2014, 20:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2014, 20:42
Помогаю со студенческими работами здесь

Обмен данными между формами
Здравствуйте! Пишу в VS 2012. Есть две формы, по выборе чекбокса открывается вторая форма. Во...

Обмен данными между двумя формами
У меня есть две формы и нужно передать данные от одной формы к другой. Вот код: /* Форма 1 */...

Обмен данными между формами в MDI
есть форма перент - Form1 она создала 2 формы child: Form2, Form3. соответственно в Form1 они...

Обмен между формами из разных проектов
Прочитал здесь на форуме вот такой способ. Скажите что делать, если Form1 и Form2 находятся в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru