Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
King_of_Arthur
1 / 1 / 5
Регистрация: 25.04.2013
Сообщений: 165
1

Перенести значение dateTimePicker1 c одной формы на другую

10.09.2013, 08:39. Просмотров 887. Ответов 4
Метки нет (Все метки)

Здравствуйте!) Знаю тем завались но я тупак мне вообще нужно брать дату из dateTimePicker1 на форме Period и помещать ее в запрос на форме Period в Delphi 7 я знаю как это сделать а в C#
ну чтоб передавать данные я делаю так
На форме Period
C#
1
2
3
4
5
      private void simpleButton1_Click(object sender, EventArgs e)
        {
            El_zur_Nazn child = new El_zur_Nazn();
            child.MdiParent = this.MdiParent;
            child.Show(this);
на форме Period
C#
1
2
3
4
5
private void Form3_Load(object sender, EventArgs e)
        {
            Period pri = this.Owner as Period;
            if (pri != null) dateTimePicker1.Text = dateTimePicker1.Value.ToShortDateString();
            string dat = dateTimePicker1.Value.ToShortDateString();
Это я нашла в одной из тем но у меня выходит ошибка Элемент "dateTimePicker1" не существует в текущем контексте.
Прошу вашей помощи)))))
Запихать дату надо в этот запрос
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
if (e.Node.Name == "Узел26")
            {
                DataSet ds = new DataSet();
                DataTable dt = ds.Tables.Add("TB");
                FbCommand command = new FbCommand("select NLOM,FAM,IM,OT,NOMP,KOM from LECHS,PATIENT,N_LOM,PALATA where LECHS.UID=PATIENT.UID and LECHS.LOM=N_LOM.LOM and LECHS.UID=PALATA.UID and TLOM=12 dn="вот сюда" order by FAM", connection);
                command.Connection = connection;
                FbDataAdapter dataAdapter = new FbDataAdapter();
                dataAdapter.SelectCommand = command;
                dataAdapter.Fill(ds.Tables["TB"]);
                dataGridView1.DataSource = ds.Tables["TB"].DefaultView;
                dataGridView1.Visible = true;
 
            }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 08:39
Ответы с готовыми решениями:

Перенести переменные одной формы в другую
Доброго времени суток. Вот код первой формы: using System; using System.Collections.Generic;...

Как перенести текст из одной формы в другую и показать его в label1?
private void pictureBox10_Click(object sender, EventArgs e) { MainForm form2...

Как передать значение из одной формы в другую?
Столкнулся с очередной проблемой В одной форме у меня проходит тест, подсчитывается набранный...

Скопировать значение TextBox из одной формы в другую
Есть две формы, у каждой формы есть свой textbox. Эти формы активны. Как значение textbox второй...

Как передать значение переменной из одной формы в другую?
Здравствуйте! я пробую передать значение через отдельный статический класс, но оно попадает туда не...

4
StudAssistant
Эксперт
9811 / 7003 / 2319
Регистрация: 17.04.2006
Сообщений: 9,622
10.09.2013, 08:39
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
4
Smems
152 / 151 / 29
Регистрация: 21.05.2010
Сообщений: 338
10.09.2013, 12:09 2
King_of_Arthur, как вариант, создайте класс, через который будете передавать значения между формами. Там создайте переменную типа DateTime. Из первой формы заносим значение в эту переменную, а при Activated второй формы - чтение значения из этой переменной.

Добавлено через 1 минуту
Цитата Сообщение от King_of_Arthur Посмотреть сообщение
Это я нашла в одной из тем но у меня выходит ошибка Элемент "dateTimePicker1" не существует в текущем контексте.
Конечно не существует. Его же нет на второй форме. Как вариант, перебрать все контролы на pri и найти там нужный DateTime.
1
King_of_Arthur
1 / 1 / 5
Регистрация: 25.04.2013
Сообщений: 165
10.09.2013, 12:11  [ТС] 3
А вы можете примерчик дать а то я не понимаю плохо ))
0
onicdr
38 / 36 / 8
Регистрация: 01.08.2013
Сообщений: 106
10.09.2013, 12:19 4
Цитата Сообщение от Smems Посмотреть сообщение
King_of_Arthur, как вариант, создайте класс, через который будете передавать значения между формами. Там создайте переменную типа DateTime. Из первой формы заносим значение в эту переменную, а при Activated второй формы - чтение значения из этой переменной.

Добавлено через 1 минуту

Конечно не существует. Его же нет на второй форме. Как вариант, перебрать все контролы на pri и найти там нужный DateTime.
Зачем так извращаться? Нарушать основы программирования, трогая объекты другого класса напрямую.
Проще и лучше на форме1 сделать функцию возвращающую значение этого поля
C#
1
2
3
4
public string GetDateValue()
{
    return dateTimePicker1.Value.ToShortDateString();
}
Вызов из второй формы соответственно:
C#
1
2
Period pri = this.Owner as Period;
            string dat = pri.GetDateValue();
А если вообще единоразово надо, смотря на то, что используется в _Load, то вообще передавать лучше в конструктор формы 2
C#
1
El_zur_Nazn child = new El_zur_Nazn(dateTimePicker1.Value.ToShortDateString());
Не забыв, конечно, изменить конструктор у формы 2 .

Добавлено через 1 минуту
C#
1
2
3
4
5
public El_zur_Nazn(string dateValue)
        {
            InitializeComponent();
            ... // Использование dateValue как нужно
        }
2
Smems
152 / 151 / 29
Регистрация: 21.05.2010
Сообщений: 338
10.09.2013, 12:45 5
Цитата Сообщение от King_of_Arthur Посмотреть сообщение
А вы можете примерчик дать а то я не понимаю плохо ))
1. Создаёте отдельный класс типа:
C#
1
2
3
4
    public class Class1
    {
        public static DateTime date;
    }
Теперь в первой форме по нажатию на button:
C#
1
2
3
4
5
6
private void button1_Click(object sender, EventArgs e)
        {
            Class1.date = dateTimePicker1.Value;
            Form2 child = new Form2 {MdiParent = MdiParent};
            child.Show(this);
        }
И на второй форме:
C#
1
2
3
4
private void Form2_Load(object sender, EventArgs e)
        {
            label1.Text = Class1.date.ToShortDateString();
        }
или 2. (без класса) На Форме2:
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void Form2_Load(object sender, EventArgs e)
        {
            Form1 pri = new Form1();
            foreach (Control cntrl in pri.Controls)
            {
                if (cntrl is DateTimePicker && cntrl.Name == "dateTimePicker1")
                {
                    label1.Text = ((DateTimePicker) cntrl).Value.ToShortDateString();
                    break;
                }
            }
        }
__________________________
p.s.: или, как советует onicdr.

Добавлено через 7 минут
Эээ... продинамил)) вместо
C#
1
2
Form1 pri = new Form1();
            foreach (Control cntrl in pri.Controls)
нужно

C#
1
foreach (Control cntrl in Owner.Controls)
1
10.09.2013, 12:45
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 12:45

Передать значение переменной из одной формы в другую в VS 2017
Есть форма Administrator_menu по нажатию одной и кнопок открывается форма Ad_new_user, куда из...

Как передать значение переменной из одной формы в другую?
У меня есть две формы. на Form1 есть textbox1, на form2 есть label1. Подскажите, пожалуйста, как из...

Перенести весь текст из одной ячейки DataGridView в другую
Подскажите, пожалуйста, как перенести весь текст из одной ячейки в другую в dataGridView?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru