Unable to cast object of type 'System.Windows.Forms.Link

本文关键字:System Windows Forms Link cast to object of type Unable | 更新日期: 2023-09-27 18:05:22

这一行我得到:

"无法强制转换类型为'System.Windows.Forms '的对象"异常。链接标签'到键入'System.Windows.Forms.CheckBox'

如何将复选框文本转换为文本框文本?语法是什么?

我代码:

RenameFormForPersonalData a
    = new RenameFormForPersonalData(currentSelectedButtonPersonal,1);
a.visible=true;
a.setCheck(editButtonToChecktext[((CheckBox)sender).Location.Y.ToString()].Text,
           editButtonToChecktext[((CheckBox)sender).Location.Y.ToString()]); 

Unable to cast object of type 'System.Windows.Forms.Link

问题是您要触发此事件的控件是LinkLabel而不是复选框

if (sender is CheckBox)
{
    RenameFormForPersonalData a
= new RenameFormForPersonalData(currentSelectedButtonPersonal,1);
    a.visible=true;
    a.setCheck(editButtonToChecktext[((CheckBox)sender).Location.Y.ToString()].Text,
       editButtonToChecktext[((CheckBox)sender).Location.Y.ToString()]); 
}

你会看到这段代码不会触发,但它不会抛出异常

你可以试试这个吗:

a.setCheck(editButtonToChecktext[((CheckBox)sender).Location.Y.ToString()].Text,
           editButtonToChecktext[((LinkLabel)sender).Location.Y.ToString()]);

或:

a.setCheck(editButtonToChecktext[((LinkLabel)sender).Location.Y.ToString()].Text,
           editButtonToChecktext[((CheckBox)sender).Location.Y.ToString()]);