Я пишу приложение winforms на С# (НЕ ASP.NET!) И получаю сообщение об ошибке в элементе управления полем со списком (заполнено или нет, выбрано или нет), которое выглядит так:
Управляемый помощник по отладке 'NonComVisibleBaseClass'
Message=Управляемый помощник по отладке 'NonComVisibleBaseClass' : 'Был выполнен вызов QueryInterface с запросом интерфейса класса видимого управляемого класса COM 'ComboBoxUiaProvider'. Однако, поскольку этот класс является производным от не видимого COM класса ComboBoxExAccessibleObject, вызов QueryInterface завершится ошибкой. Это делается для того, чтобы базовый класс, невидимый для COM, не ограничивался правилами управления версиями COM».
Я не вижу ничего плохого (это очень простое приложение для тестирования) с кодом
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech;
using System.Speech.Synthesis;
namespace SpeechDemoApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private SpeechSynthesizer _SS = new SpeechSynthesizer();
private void button1_Click(object sender, EventArgs e)
{
_SS.Speak(txtSpeech.Text.Trim());
}
private void button2_Click(object sender, EventArgs e)
{
var ivs = _SS.GetInstalledVoices();
foreach (var iv in ivs)
{
ComboboxItem cboItem = new ComboboxItem();
cboItem.Text = iv.VoiceInfo.Name;
cboItem.Value = iv.VoiceInfo.Name;
cboVoices.Items.Add(cboItem);
}
}
}
public class ComboboxItem
{
public string Text { get; set; }
public object Value { get; set; }
public override string ToString()
{
return Text;
}
}
}
Поле со списком заполняется правильно, однако при нажатии на поле со списком возникает ошибка, указанная выше. Я не могу понять, что происходит. Обратите внимание, что это приложение WinForms (извините, я должен постоянно упоминать об этом, поскольку никто не читает сообщения, прежде чем отвечать), а НЕ приложение WPF или ASP.NET.