Это укажет и поможет вам в правильном направлении.Попробуйте следовать за MVC или MVVM, и дизайн поможет вам разделить проблемы, и в итоге вы получите более качественный и чистый код.
На данный момент создайте класс, как показано ниже:
public class Info
{
public Info()
{
this.NomeContrato = new List<string>();
}
public string Id { get; set; }
public string Sigla { get; set; }
public string Nome { get; set; }
public string Codigo { get; set; }
public string QServico { get; set; }
public bool Ativo { get; set; }
public List<string> NomeContrato { get; set; }
}
Затем добавьте это свойство в класс Concelhos_Edit
:
public Info Model { get; set; }
Также добавьте этот код в обработчик _Load
формы Concelhos_Edit
:
this.cmb_contrato.DataSource = this.Model.NomeContrato;
// If you need the SelectedValue from the other form, then add another
// property to Info class and put the value there.
// this.cmb_contrato.SelectedValue = this.Model.SelectedValue;
this.cmb_contrato.SelectedValue = "whatever you want to be selected";
Затем изменитеметод двойного щелчка в ячейке с именем: concelhos_datagrid_CellDoubleClick
выглядит следующим образом:
private void concelhos_datagrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
// Your code...
var editForm = new Concelhos_Edit();
var editFormModel = new Info();
editFormModel.Id = f.txt_id.Text = concelhos_datagrid.CurrentRow.Cells[0].Value.ToString();
// Set other properties
// Here is the work for dropdown
var _nomeContrato = ContratosTable.AsEnumerable().FirstOrDefault(a => a.Field<int>("IdContrato") == ((DataRowView)bs.Current).Row.Field<int>("IdContrato")).Field<string>("Designacao");
editFormModel.NomeContrato.AddRange(_nomeContrato);
formEdit.Model = editFormModel;
formEdit.MdiParent = this.MdiParent;
formEdit.Show();
}
Пожалуйста, используйте этот код в качестве руководства, и вам может понадобиться настроить его.Идея состоит в том, чтобы передать информацию, в которой нуждается форма, и затем позволить этой форме делать что-либо с информацией: хочет ли она отображать информацию в TextBox
или RadioButton
- это бизнес этой формы.