在ui线程中使用控件的问题
本文关键字:控件 问题 ui 线程 | 更新日期: 2023-09-27 17:53:29
是什么问题在我的工作,我试图使用一个UI线程。
private void btn_Call_Click(object sender, EventArgs e)
{
MakeCall();
}
private void MakeCall()
{
try
{
//Get the IP we want to call.
otherPartyIP = new IPEndPoint(IPAddress.Parse(txtCallToIP.Text), 1450);
otherPartyEP = (EndPoint)otherPartyIP;
//Get the vocoder to be used.
if (cmbCodecs.SelectedText == "A-Law")
{
vocoder = Vocoder.ALaw;
}
else if (cmbCodecs.SelectedText == "u-Law")
{
vocoder = Vocoder.uLaw;
}
else if (cmbCodecs.SelectedText == "None")
{
vocoder = Vocoder.None;
}
//Send an invite message.
SendMessage(Command.Invite, otherPartyEP);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "VoiceChat-Call ()", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
返回错误:
跨线程操作无效:从a访问控件btn_Call在
上创建的线程以外的线程
调用调度器调用中导致问题的行:
Application.Current.Dispatcher.Invoke(...
从你发布的错误信息来看,不清楚是什么任务导致了你的问题。可能是其中之一:
otherPartyIP = new IPEndPoint(IPAddress.Parse(txtCallToIP.Text), 1450);
otherPartyEP = (EndPoint)otherPartyIP;
vocoder = Vocoder.ALaw;
vocoder = Vocoder.uLaw;
vocoder = Vocoder.None;