C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 19.04.11 22:02
Оценка:
Доброго времени суток!

Разрабатываю UserControl для контекстного поиска в датагридах, все зашибись, но попутался в динамических свойствах.
Трабла в том, что не получается создать динамическую ссылку на датагрид для нового экземпляза UserControl.
Если кто-то шарит — поясните...

Спасибо!
Re: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 20.04.11 18:24
Оценка:
Здравствуйте, alexparser, Вы писали:

A>Доброго времени суток!


A>Разрабатываю UserControl для контекстного поиска в датагридах, все зашибись, но попутался в динамических свойствах.

A>Трабла в том, что не получается создать динамическую ссылку на датагрид для нового экземпляза UserControl.
Вы думаете что ваш вопрос понятен?
... << RSDN@Home 1.2.0 alpha 5-AN rev. 98>>
Re[2]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 20.04.11 21:43
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Вы думаете что ваш вопрос понятен?


Поясняю, есть мной разработанный UserControl, который должен взаимодействовать с датагридами на различных формах.
При том, мой UserControl должен хранить переменные и ссылку на датагрид для каждого экземпляра окна.
Для передачи параметров (ссылки на датагрид) в UserControl я предусмотрел класс.
Проблема в том, что каждый новый экземпляр UserControl-а перезаписывает переменные и ссылку на датагрид.
Это является недопустимым при одновременном использовании UserControl-а на двух и более формах.

Спасибо!
Re[3]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 20.04.11 21:48
Оценка:
Здравствуйте, alexparser, Вы писали:

A>Здравствуйте, AlexNek, Вы писали:


AN>>Вы думаете что ваш вопрос понятен?


A>Поясняю, есть мной разработанный UserControl, который должен взаимодействовать с датагридами на различных формах.

A>При том, мой UserControl должен хранить переменные и ссылку на датагрид для каждого экземпляра окна.
A>Для передачи параметров (ссылки на датагрид) в UserControl я предусмотрел класс.
A>Проблема в том, что каждый новый экземпляр UserControl-а перезаписывает переменные и ссылку на датагрид.
A>Это является недопустимым при одновременном использовании UserControl-а на двух и более формах.
Немного яснее, но непонято зачем нужен именно контрол. Сделайте проперти и поставьте вреакпоинт на сеттер. Увидите кто переписывает данные
... << RSDN@Home 1.2.0 alpha 5-AN rev. 98>>
Re[4]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 20.04.11 21:59
Оценка:
AN>Немного яснее, но непонято зачем нужен именно контрол. Сделайте проперти и поставьте вреакпоинт на сеттер. Увидите кто переписывает данные

Без одельного контрола не обойтись, это адвансед поиск по датагриду т.е. доп. окно для настроек и т.д...
Кто перезаписывает данные и так ясно — это каждый новый экземпляр моего контрола в новом окне.
Вопрос как сделать каждый новый экземпляр контрола со своими локальными переменными и ссылками на датагрид..?
Re[5]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 20.04.11 22:12
Оценка:
Здравствуйте, alexparser, Вы писали:

AN>>Немного яснее, но непонято зачем нужен именно контрол. Сделайте проперти и поставьте вреакпоинт на сеттер. Увидите кто переписывает данные


A>Без одельного контрола не обойтись, это адвансед поиск по датагриду т.е. доп. окно для настроек и т.д...

Что видно сразу и всегда в этом контроле?
A>Кто перезаписывает данные и так ясно — это каждый новый экземпляр моего контрола в новом окне.
A>Вопрос как сделать каждый новый экземпляр контрола со своими локальными переменными и ссылками на датагрид..?
При создании класса будут новые переменные, а ссылку на дату грид надо ставить в родительском окне
... << RSDN@Home 1.2.0 alpha 5-AN rev. 98>>
Re[6]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 20.04.11 22:22
Оценка:
Здравствуйте, AlexNek, Вы писали:

A>>Без одельного контрола не обойтись, это адвансед поиск по датагриду т.е. доп. окно для настроек и т.д...

AN>Что видно сразу и всегда в этом контроле?
ТекстБокс для ввода искомого слова + 4 кнопки для управления поиском.

A>>Кто перезаписывает данные и так ясно — это каждый новый экземпляр моего контрола в новом окне.

A>>Вопрос как сделать каждый новый экземпляр контрола со своими локальными переменными и ссылками на датагрид..?
AN>При создании класса будут новые переменные, а ссылку на дату грид надо ставить в родительском окне
Сыылка на датагрид естественно ставится из родительского окна через класс.
Но так получается, что ссылка на датагрид применяется ко всем экземплярам моего контрола.
А должна быть для каждого своя.
Re[7]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 20.04.11 22:29
Оценка:
Здравствуйте, alexparser, Вы писали:

A>Здравствуйте, AlexNek, Вы писали:


A>>>Без одельного контрола не обойтись, это адвансед поиск по датагриду т.е. доп. окно для настроек и т.д...

AN>>Что видно сразу и всегда в этом контроле?
A>ТекстБокс для ввода искомого слова + 4 кнопки для управления поиском.
Ну тогда контрол.

A>>>Кто перезаписывает данные и так ясно — это каждый новый экземпляр моего контрола в новом окне.

A>>>Вопрос как сделать каждый новый экземпляр контрола со своими локальными переменными и ссылками на датагрид..?
AN>>При создании класса будут новые переменные, а ссылку на дату грид надо ставить в родительском окне
A>Сыылка на датагрид естественно ставится из родительского окна через класс.
A>Но так получается, что ссылка на датагрид применяется ко всем экземплярам моего контрола.
A>А должна быть для каждого своя.
Попробуйте сделать тестовый проектик и выставить его куда нибудь. Статик нигде не пользуете
... << RSDN@Home 1.2.0 alpha 5-AN rev. 98>>
Re[8]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 20.04.11 22:32
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Попробуйте сделать тестовый проектик и выставить его куда нибудь. Статик нигде не пользуете

использую, public static DataGridView dgv = new DataGridView();
в этом и трабла, а иначе как?
Re[9]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 20.04.11 22:41
Оценка:
Здравствуйте, alexparser, Вы писали:

A>Здравствуйте, AlexNek, Вы писали:


AN>>Попробуйте сделать тестовый проектик и выставить его куда нибудь. Статик нигде не пользуете

A>использую, public static DataGridView dgv = new DataGridView();
A>в этом и трабла, а иначе как?
Необязательно, но назначение этой строки не ясно
... << RSDN@Home 1.2.0 alpha 5-AN rev. 98>>
Re[10]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 20.04.11 22:47
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>>>Попробуйте сделать тестовый проектик и выставить его куда нибудь. Статик нигде не пользуете

A>>использую, public static DataGridView dgv = new DataGridView();
A>>в этом и трабла, а иначе как?
AN>Необязательно, но назначение этой строки не ясно

Мой юзерконтрол
---------------

public partial class UserControl1 : UserControl
{
public static DataGridView dgv = new DataGridView();

public UserControl1()
{
InitializeComponent();
}
}

public class search
{
public void setDataGridView(DataGridView datagrid)
{
UserControl1.dgv = datagrid; // инизиализация датагрида для юзерконтрола
}
}
Re[11]: C# UserControl динамические свойства контрола?
От: joher  
Дата: 21.04.11 10:56
Оценка:
Здравствуйте, alexparser, Вы писали:

A>Здравствуйте, AlexNek, Вы писали:


AN>>>>Попробуйте сделать тестовый проектик и выставить его куда нибудь. Статик нигде не пользуете

A>>>использую, public static DataGridView dgv = new DataGridView();
A>>>в этом и трабла, а иначе как?
AN>>Необязательно, но назначение этой строки не ясно

A>Мой юзерконтрол

A>---------------

A> public partial class UserControl1 : UserControl

A> {
A> public static DataGridView dgv = new DataGridView();

A> public UserControl1()

A> {
A> InitializeComponent();
A> }
A> }

A> public class search

A> {
A> public void setDataGridView(DataGridView datagrid)
A> {
A> UserControl1.dgv = datagrid; // инизиализация датагрида для юзерконтрола
A> }
A> }

Непонятно зачем вы здесь используете static поле. Очевидно, что для всех экземпляров вашего класса будет одна и та же ссылка в памяти для этого свойства. Уберите static и все будет хорошо.
Re[12]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 21.04.11 11:42
Оценка:
Здравствуйте, joher, Вы писали:

J>Непонятно зачем вы здесь используете static поле. Очевидно, что для всех экземпляров вашего класса будет одна и та же ссылка в памяти для этого свойства. Уберите static и все будет хорошо.


Без поля static вообще не работает, ругается — Error 1 An object reference is required for the non-static field, method, or property
Re[11]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 21.04.11 15:27
Оценка:
Здравствуйте, alexparser, Вы писали:

A>Здравствуйте, AlexNek, Вы писали:


AN>>>>Попробуйте сделать тестовый проектик и выставить его куда нибудь. Статик нигде не пользуете

A>>>использую, public static DataGridView dgv = new DataGridView();
A>>>в этом и трабла, а иначе как?
AN>>Необязательно, но назначение этой строки не ясно

A>Мой юзерконтрол

A>---------------

A> public partial class UserControl1 : UserControl

A> {
A> public static DataGridView dgv = new DataGridView();

A> public UserControl1()

A> {
A> InitializeComponent();
A> }
A> }

A> public class search

A> {
A> public void setDataGridView(DataGridView datagrid)
A> {
A> UserControl1.dgv = datagrid; // инизиализация датагрида для юзерконтрола
A> }
A> }
По крайней мере, у вас три логических ошибки и катастрофическое нарушение правил (А).
А. Запрешен прямой публик доступ к данным класса, особенно статическим. Для этого существует синглетон и проперти.
1. Если контрол должен работать в паре с гридом, то это подразумевает отсутствие общих (статических) полей. Обращении по имени класса уже подразумевает статический доступ.
2. Если переменной требуется инициализация, то она должна находится в "неправильном" состоянии. DataGridView dgv = null;
3. Связанные классы должны находитс в одном месте.
Возможное решение говорить не буду, думаю, будет более полезно найти самому
... << RSDN@Home 1.2.0 alpha 5-AN rev. 98>>
Re[12]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 22.04.11 21:53
Оценка:
Здравствуйте, AlexNek, Вы писали:

Что-то реально увяз
Выкладываю демо-код здесь с траблой, проперти тоже ничего не дали.

Плс., поможите...
Re[13]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 24.04.11 11:40
Оценка:
Здравствуйте, alexparser, Вы писали:

a> Что-то реально увяз

a> Выкладываю демо-код здесь с траблой, проперти тоже ничего не дали.

a> Плс., поможите...


Зачем создаешь новый?
       public Form1()
        {
            InitializeComponent();
            //MyControl1 e = new MyControl1();
            //e.textControl = label1;

            myControl11.textControl = label1;
        }
avalon 1.0rc3 rev 380, zlib 1.2.3
Re[14]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 25.04.11 19:44
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Зачем создаешь новый?

AN>
       public Form1()
AN>        {
AN>            InitializeComponent();
AN>            //MyControl1 e = new MyControl1();
AN>            //e.textControl = label1;

AN>            myControl11.textControl = label1;
AN>        }
AN>


В таком виде даже не компилится: Error 1 An object reference is required for the non-static field, method, or property 'UserControl1.MyControl1.textControl.get'...
[i][/i]
Re[15]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 25.04.11 19:58
Оценка:
Здравствуйте, alexparser, Вы писали:

a> AN>Зачем создаешь новый?

a> AN>
       public Form1()
a> AN>        {
a> AN>            InitializeComponent();
a> AN>            //MyControl1 e = new MyControl1();
a> AN>            //e.textControl = label1;

a> AN>            myControl11.textControl = label1;
a> AN>        }
a> AN>


a> В таком виде даже не компилится: Error 1 An object reference is required for the non-static field, method, or property 'UserControl1.MyControl1.textControl.get'...

a>
[i][/i]
Странно, это были единственные исправления в проекте, возьмите то что лежит в архиве по ссылке
avalon 1.0rc3 rev 380, zlib 1.2.3
Re[16]: C# UserControl динамические свойства контрола?
От: alexparser  
Дата: 25.04.11 20:09
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Странно, это были единственные исправления в проекте, возьмите то что лежит в архиве по ссылке


По какой ссылке?
Re[17]: C# UserControl динамические свойства контрола?
От: AlexNek  
Дата: 25.04.11 20:19
Оценка:
Здравствуйте, alexparser, Вы писали:

a> AN>Странно, это были единственные исправления в проекте, возьмите то что лежит в архиве по ссылке


a> По какой ссылке?

Не ну, а откуда я то взял?

alexparser
Дата: 22.04.11 23:53

Что-то реально увяз
Выкладываю демо-код здесь с траблой, проперти тоже ничего не дали.

avalon 1.0rc3 rev 380, zlib 1.2.3
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.