Page 1 of 1

Klasse, die sich aus Combobox ergibt

Posted: 17 Mar 2025, 02:35
by Anonymous
Ich versuche eine Klasse zu erstellen, die aus Combobox abgeleitet ist. Aber ich habe viele Probleme. Ich habe den Versuch vollständig aufgegeben, nach dem Arbeitstagen automatisch zu arbeiten. Ich versuche also etwas Einfacheres. < /P>
Ich habe den folgenden Code. < /P>

Code: Select all

protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);

PopulateCategories();

if (DesignMode == false)
{
AutoCompleteMode = AutoCompleteMode.SuggestAppend;
AutoCompleteSource = AutoCompleteSource.ListItems;
}
}

private void PopulateCategories()
{
if (DesignMode)
return;

// Avoid Items.Clear() - See link above
while (Items.Count > 0)
Items.RemoveAt(0);

Document document = Program.GetDocument();
foreach (ListItem listItem in document.Categories.GetListItems())
Items.Add(listItem);
}
< /code>
Aber dieser Code legt eine Ausnahme in die Zeile aus, die automatisch komplettemode < /code>. Es gibt jedoch kein Last 
Ereignis wie für ein Formular. Und meine populatecategories () methodie zugreift auf Eigenschaften wie Elemente ohne Probleme. Warum gibt es ein Problem mit der automatischen Vervollständigung von ?

Code: Select all

   at System.Windows.Forms.ComboBox.SetAutoComplete(Boolean reset, Boolean recreate)
at BankAccounts.Controls.CategoryComboBox.OnHandleCreated(EventArgs e) in C:\Users\jwood\source\repos\BankAccounts\BankAccounts\Controls\CategoryComboBox.cs:line 46
< /code>
Stack Trace (aus dem Stack Trace -Fenster): < /p>
[External Code]
BankAccounts.dll!BankAccounts.Controls.CategoryComboBox.OnHandleCreated(System.EventArgs e) Line 46 C#
[External Code]
BankAccounts.dll!BankAccounts.MainForm.EditTransaction_Click(object sender, System.EventArgs e) Line 201    C#
BankAccounts.dll!BankAccounts.MainForm.Transactions_EditTransaction(object sender, System.EventArgs e) Line 233 C#
BankAccounts.dll!BankAccounts.Controls.TransactionListBox.EditTransactionMenu_Click(object sender, System.EventArgs e) Line 162 C#
BankAccounts.dll!BankAccounts.Controls.TransactionListBox.OnMouseDoubleClick(System.Windows.Forms.MouseEventArgs e) Line 174    C#
[External Code]
BankAccounts.dll!BankAccounts.Program.Main() Line 16    C#