我正在尝试按下不同的'动作'按钮。 当我第一次点击你应该看到桌面名称,第二次点击应该删除它。 但我的第二个代码出现在我点击的第一个时刻,我做错了什么?
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.";
}
答案 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;