Klasse, die sich aus Combobox ergibt
Posted: 17 Mar 2025, 02:35
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> 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 ?
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
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#