Ich versuche, drei ComboBox
mit einer Klasse-Liste füllen, aber es einen Fehler geben:C# Form.show() Fehler System.InvalidOperationException
An unhandled exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll
"System.InvalidOperationException: This operation cannot be performed while an auto-filled column is being resized"
Dieser Fehler tritt gelegentlich, doch irgendwie nie geschehen.
Und dieser Punkt form.Show();
Code:
Catalogo form = new Catalogo();
form.Show();
Und das ist die Form von Code:
private void btSair_Click(object sender, EventArgs e)
{
DialogResult var;
var = MessageBox.Show("Deseja fechar esta janela ? ", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (var == DialogResult.Yes)
{
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
this.Close();
}
}
private void Catalogo_Load(object sender, EventArgs e)
{
cliente = new KEYSERVICEClient();
List<Catalogo> asdf = new List<Catalogo>();
var listar = cliente.FillCombosCatalogo(Global.Id_empresa);
for (int i = 0; i < listar.Count; i++)
{
cbFabricante.Items.Add(listar[i].fabricante);
cbModelo.Items.Add(listar[i].modelo);
cbNumera.Items.Add(listar[i].numeracao);
}
}
FillComboCatalogo Methode:
public List<CatalogoItens> FillCombosCatalogo(int id_empresa)
{
SqlDataReader objReader;
SqlCommand objcmd = null;
vsql = "SELECT [ID_EMPRESA], [MODELO], [FABRICANTE],[NUMERACAO] As Identificador,[MODELO],[FABRICANTE], [NUMERACAO] FROM PRODUTOS_CHAVES WHERE @ID_EMPRESA = ID_EMPRESA";
List<CatalogoItens> catag = new List<CatalogoItens>();
if (this.Conectar())
{
try
{
objcmd = new SqlCommand(vsql, objCon);
objcmd.Parameters.Add(new SqlParameter("@ID_EMPRESA", id_empresa));
objReader = objcmd.ExecuteReader();
while (objReader.Read())
{
CatalogoItens catalogo = new CatalogoItens()
{
modelo = (objReader.GetString(1)),
fabricante = (objReader.GetString(2)),
numeracao = (objReader.GetString(3))
};
catag.Add(catalogo);
}
return catag;
}
catch
{
}
finally
{
this.Desconectar();
}
}
return null;
}
Nur neugierig ... Warum zwingen Sie den GC zu sammeln? Bitte geben Sie auch den Code für 'FillCombosCatalogo()' –
an, den ich benutze, um zu säubern. –
Sie sollten niemals eine GC-Sammlung erzwingen. Das ist alles automatisch erledigt, und wenn es nicht ist, machst du etwas falsch. –