在ASP.NET中,我可以使用会话,但是对于Windows窗体,如何获取可以添加的当前值+ 1?
点击btnPrintToken后会覆盖,重新运行代码,我希望它保留最后输入的值(LastTokenNumberIssued),并让它添加+ 1等等,这样它就会更新队列。
private void btnPrintToken_Click(object sender, EventArgs e)
{
Queue<int> queueTokens = new Queue<int>();
lblStatus.Text = "There are " + queueTokens.Count.ToString() +
" customers before you in the queue";
int LastTokenNumberIssued = // Not sure how to retrieve current value what it was after nextTokenNumberTobeIssued.
int nextTokenNumberTobeIssued = LastTokenNumberIssued + 1;
LastTokenNumberIssued = nextTokenNumberTobeIssued;
queueTokens.Enqueue(nextTokenNumberTobeIssued);
AddTokensToListBox(queueTokens);
}
private void AddTokensToListBox(Queue<int> queueTokens)
{
listTokens.Items.Clear();
foreach (int token in queueTokens)
{
listTokens.Items.Add(token.ToString());
}
}
答案 0 :(得分:0)
实现此目的的一种方法是在nextTokenNumberTobeIssued
方法之前定义这些变量LastTokenNumberIssued
,btnPrintToken_Click
,如下所示:
int LastTokenNumberIssued = 0; //give it a default value here.
int nextTokenNumberTobeIssued = 0; //give it a default value here.
private void btnPrintToken_Click(object sender, EventArgs e)
{
....
nextTokenNumberTobeIssued = LastTokenNumberIssued + 1;
LastTokenNumberIssued = nextTokenNumberTobeIssued;
...
}
这样,每次用户点击按钮PrintToken
时,您都会LastTokenNumberIssued
保留上一次点击。
答案 1 :(得分:0)
int LastTokenNumberIssued = 0; //here will be the start value
private void btnPrintToken_Click(object sender, EventArgs e)
{
Queue<int> queueTokens = new Queue<int>();
lblStatus.Text = "There are " + queueTokens.Count.ToString() +
" customers before you in the queue";
int nextTokenNumberTobeIssued = LastTokenNumberIssued + 1;
LastTokenNumberIssued = nextTokenNumberTobeIssued;
queueTokens.Enqueue(nextTokenNumberTobeIssued);
AddTokensToListBox(queueTokens);
}
private void AddTokensToListBox(Queue<int> queueTokens)
{
listTokens.Items.Clear();
foreach (int token in queueTokens)
{
listTokens.Items.Add(token.ToString());
}
}
答案 2 :(得分:0)
在方法之外创建LastTokenNumberIssued:
public YourWindow
{
int LastTokenNumberIssued;
private void btnPrintToken_Click(object sender, EventArgs e)
{
int nextTokenNumberIssued;
LastTokenNumberIssued = LastTokenNumberIssued++;
nextTokenNumberTobeIssued = LastTokenNumberIssued;
}
}
如果在方法内创建LastTokenNumberIssued,则每次单击按钮时都会覆盖它,因为当方法返回时它的值会丢失。
检查this以获取有关方法范围的更多信息。