微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c#无法将’System.Windows.Forms.Label’类型的对象强制转换为’System.Windows.Forms.TextBox’

我无法找到解决错误的任何内容:/我尝试将2个字母组合(例如aa,ba,cb)设置为乘数(aa * 3 = 4 * 3 ba * 2 = 3,5 * 2).
 我的代码是;

string[] dersler = new string[9];
    double[] kredi = new double[9];
    double[] kredisonuclari = new double[9];

    double derscarp(double s1,double s2)
    {
        return s1 * s2;
    }
    private void button1_Click(object sender,EventArgs e)
    {

        int i=0;
        int j = 0;
        foreach (TextBox item in Controls)
        {
            if (item.Name.Substring(0,7)=="txtders")
            {
                dersler[i] = Convert.ToString(item.Text);
                i++;
            }
        }
        foreach (TextBox item in Controls)
        {
            if (item.Name.Substring(0,8) == "txtkredi")
            {
                kredi[j] = Convert.Todouble(item.Text);
                j++;
            }
        }

        double toplam =0;
        for (int k = 0; k < 9; k++)
        {

解决方法

foreach (TextBox item in Controls)

控件包含一些不是文本框的控件.
您的foreach语句告诉编译器将集合中的每个项目转换为TextBox,这将无法正常工作.

相反,您可以调用.OfType< TextBox>(),它将返回仅包含TextBox实例的集合的已过滤子序列.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐