I am getting weird error on c# winforms. I summarize the problem step by step.
- I have 1 model (public class)
- I have a winform that includes a datagridtable and this is binded to model.
- Winfom.cs is opened.
- Close the visual studio and reopen.
- I am getting error as below :
at System.RuntimeType. ThrowIfTypeNeverValidGenericArgument(RuntimeType type) SanityCheckGenericArguments(RuntimeType[] genericArguments, RuntimeType[] genericParamters) MakeGenericType(Type[] instantiation)
at System.Windows.Forms.BindingSource. CreateBindingList(Type type) GetListFromType(Type type) ResetList() System.ComponentModel.ISupportInitialize.EndInit()
- When I click the error message it forwards me the winform.designer.cs below
(System.ComponentModel.ISupportInitialize)(this.tankModelBindingSource).EndInit();
I close all of them without any change & reopen the winform.cs (designer)
Error is gone!
Am I missing something? Every time do I have to get this error? Is this a bug or not?
Thanks.
public void datagridFixedItemVisualization()
{
fixedItemModelBindingSource.DataSource = MainParticularsModel.FixedItemList;
}
private void dgTankSet_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
// CALCULATING....
dgTankSet.DataSource = MainParticularsModel.TankList;
dgTankSet.Refresh();
}
private void cmbCatFilter_SelectedIndexChanged(object sender, EventArgs e)
{
CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[dgTankSet.DataSource];
currencyManager1.SuspendBinding();
TankCategory cmbfiltername = (TankCategory)Enum.Parse(typeof(TankCategory), cmbCatFilter.SelectedItem.ToString());
switch (cmbfiltername)
{
case TankCategory.ALL:
makeALLrowsVisible();
currencyManager1.ResumeBinding();
break;
case TankCategory.ETC:
makeALLrowsVisible();
foreach (DataGridViewRow row in dgTankSet.Rows)
{
if (row.Cells[0].Value.ToString() != "ETC")
{
row.Visible = false;
}
}
currencyManager1.ResumeBinding();
break;
}
}
private void btnAddFixedItem_Click(object sender, EventArgs e)
{
using (FixedItemForm frm = new FixedItemForm() {FixedItemInfo=new FixedItemModel() })
{
if (frm.ShowDialog() == DialogResult.OK)
{
MainParticularsModel.FixedItemList.Add(frm.FixedItemInfo);
fixedItemModelBindingSource.ResetBindings(false);
fixedItemModelBindingSource.DataSource = MainParticularsModel.FixedItemList;
dgFixedItems.Update();
dgFixedItems.DataSource = fixedItemModelBindingSource;
}
}
}