powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверьте меня пожалуйста
2 сообщений из 2, страница 1 из 1
Проверьте меня пожалуйста
    #32606967
Paul Chabinsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Метод который выставляет позиции в куренси менеджерах формы после вызова метода .Clear() у датасета.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
private Hashtable GetCurrencyManagers(System.Windows.Forms.Form f)
{
	Hashtable res = new Hashtable();
	Hashtable listManagers = typeof(System.Windows.Forms.BindingContext).GetField(
		"listManagers",
		System.Reflection.BindingFlags.NonPublic|System.Reflection.BindingFlags.Instance
	).GetValue(f.BindingContext) as Hashtable;
	foreach(System.WeakReference wr in listManagers.Values)
	{
		CurrencyManager cm = (CurrencyManager)wr.Target;
		res.Add(cm, cm.Position);
	}
	return res;
}
...
Hashtable listManagers = this.GetCurrencyManagers(this);
this.ReloadData(); //В этом методе делается .Clear()
foreach(CurrencyManager cm in listManagers.Keys)
{
	cm.Position = (int)listManagers[cm];
}
...
Рейтинг: 0 / 0
Проверьте меня пожалуйста
    #32607278
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вижу вам это идея не давала покоя :-)
Пока багов не обнаружил :-)

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверьте меня пожалуйста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]