У меня есть формы в моем приложении, которые отображают привязку DataGrid к BindingSource. Когда я дважды щелкаю по строке, я показываю детальную форму.Создание экземпляра неизвестного типа
У меня есть почти 50 из этих форм для просмотра с их сопровождающей формой формы. Я хотел бы уменьшить количество форм (и кода), создав базовую форму просмотра и передав ей соответствующий BindingSource. У меня это работает. Однако, когда я дважды щелкаю по строке, я хочу создать форму детали, связанную с переданным BindingSource.
Например, если пользователь просматривает таблицу Customer, откроется форма детали клиента, но если он просматривает таблицу Job, откроется форма Job Detail.
Я могу передать общую форму детали как параметр, но как мне передать эту переданную форму одному из правильного типа, чтобы я мог его создать?
(Я пытаюсь избежать большого заявления переключателя, который перебирает, чтобы выбрать правильную принятую форму. Конечно, есть более элегантный способ для достижения этой цели?)
[EDIT] Моего просматривает код формы инстанциируется таким образом:
public BaseBrowse(BindingSource dataClass, DevExpress.XtraEditors.XtraForm crudForm)
{
InitializeComponent();
bs = dataClass;
crud = ((CRUDEquipment)(crudForm));
}
Мой двойной щелчок событие таким образом:
private void gvw_DoubleClick(object sender, EventArgs e)
{
Int32 nID = Convert.ToInt32(gvw.GetFocusedRowCellValue("ID"));
((CRUDEquipment)(crud)).intID = nID;
((CRUDEquipment)(crud)).Show();
}
Мне нужен способ, чтобы заменить «CRUDEquipment» с какой бы форме я урожденная д.
Таким образом, вы формируете объект конфигурации необходимо * два * членов, в BindingSource и тип для формы деталей. –
Я фактически передаю BindingSource и копию формы. – Chimesy