c#检查标签是否包含字符串

时间:2017-02-18 16:04:31

标签: c#

我正在尝试按下不同的'动作'按钮。 当我第一次点击你应该看到桌面名称,第二次点击应该删除它。 但我的第二个代码出现在我点击的第一个时刻,我做错了什么?

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        lbUsername.Text = "Username: Hallo," + userName;

        if (lbUsername.Text.Contains(userName))
        {
            lbUsername.Text = "klik op de knop, dokus.";
        }

2 个答案:

答案 0 :(得分:0)

Chage to:

a=int(input("Enter a number."))
c=int(input("Enter another number."))
...
for x in range(c):
    print(x)

应用于标签文字的更改会立即传播。

答案 1 :(得分:0)

您的lblUsername.Text分配将始终执行,因为if条件将始终评估为true。

相反,试试这个。

>>> string = 'aardvark'
>>> {letter: string.count(letter) for letter in set(string)}
{'v': 1, 'r': 2, 'd': 1, 'a': 3, 'k': 1}

或者如果您使用的是Conditional Operator?:

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
if (lbUsername.Text.Contains(userName))
{
    lbUsername.Text = "klik op de knop, dokus.";
}
else
{
    lbUsername.Text = "Username: Hallo," + userName;
}

编辑:

根据dotnetFiddle link上发布的代码,您应该这样做。在Form_Load事件上分配lblUsername的初始值。在按钮上单击,您始终可以分配用户名文本

bool hasUserName = lbUsername.Text.Contains(userName))
lbUsername.Text =  hasUserName ? "klik op de knop, dokus." : "Username: Hallo," + userName;