Winforms 修改代码中的标签属性

Winforms 修改代码中的标签属性,winforms,ironpython,Winforms,Ironpython,我有一个非常简单的IronPython/Windows表单应用程序。当应用程序启动时,它会在数组中添加一组标签(这是从CSV文件中执行的) #为每个站点创建标签 对于站点中的用户: 如果lasty==682: lasty=0 lastx=lastx+125 sitename=str(s)#将名称转换为字符串 elementname=sitename。替换(“,”)+“标签” 元素=标签() element.Name=elementname element.Text=str(sitename)

我有一个非常简单的IronPython/Windows表单应用程序。当应用程序启动时,它会在数组中添加一组标签(这是从CSV文件中执行的)

#为每个站点创建标签
对于站点中的用户:
如果lasty==682:
lasty=0
lastx=lastx+125
sitename=str(s)#将名称转换为字符串
elementname=sitename。替换(“,”)+“标签”
元素=标签()
element.Name=elementname
element.Text=str(sitename)
element.Parent=self
元素位置=点(lastx,lasty)
标签。附加(元素)#将每个元素添加到列表中
拉斯蒂=拉斯蒂+22

pass
您不能将SiteNameLabel用作对象引用。您必须从表单的控件集合中获取对标签的引用。请参阅以下代码:

import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')

from System.Drawing import *
from System.Windows.Forms import *

class MyForm(Form):
    def __init__(self):
        myLabel = Label()
        myLabel.Location = Point(10, 10)
        myLabel.Text = "EXAMPLE LABEL"
        myLabel.Name = "myLabel"
        self.Controls.Add(myLabel)

        # later you can find label by name this way:
        self.Controls["myLabel"].ForeColor = Color.Green

Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)

form = MyForm()
Application.Run(form)

注意:当您使用WinForms designer(在C#项目示例中)时,它会生成带有控件名称的表单成员,因此您可以在尝试时访问它们。但这仅适用于在设计时添加的控件

不能将SiteNameLabel用作对象引用。您必须从表单的控件集合中获取对标签的引用。请参阅以下代码:

import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')

from System.Drawing import *
from System.Windows.Forms import *

class MyForm(Form):
    def __init__(self):
        myLabel = Label()
        myLabel.Location = Point(10, 10)
        myLabel.Text = "EXAMPLE LABEL"
        myLabel.Name = "myLabel"
        self.Controls.Add(myLabel)

        # later you can find label by name this way:
        self.Controls["myLabel"].ForeColor = Color.Green

Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)

form = MyForm()
Application.Run(form)

注意:当您使用WinForms designer(在C#项目示例中)时,它会生成带有控件名称的表单成员,因此您可以在尝试时访问它们。但这仅适用于在设计时添加的控件

您是否可以发布尝试更改标签颜色时收到的错误消息?我已将错误添加到原始问题您是否可以发布尝试更改标签颜色时收到的错误消息?我已将错误添加到原始问题