gpt4 book ai didi

c# - 加载表单时自动执行

转载 作者:行者123 更新时间:2023-11-30 23:13:11 25 4
gpt4 key购买 nike

请帮帮我。

我有以下代码(C#):

        decimal quantity = 0, avai = 0, newavai = 0;
decimal totalstock = 0, newtotalstock = 0;

if (decimal.TryParse(G1.Rows[e.RowIndex].Cells["Quantity"].Value.ToString(), out quantity) && decimal.TryParse(G1.Rows[e.RowIndex].Cells["AvailableStock"].Value.ToString(), out avai))
{
newavai = avai + quantity;
G1.Rows[e.RowIndex].Cells["AvailableStock"].Value = newavai.ToString();
}
if (decimal.TryParse(G1.Rows[e.RowIndex].Cells["TotalStock"].Value.ToString(), out totalstock) && decimal.TryParse(G1.Rows[e.RowIndex].Cells["Quantity"].Value.ToString(), out quantity))
{
newtotalstock = totalstock + quantity;
G1.Rows[e.RowIndex].Cells["TotalStock"].Value = newtotalstock.ToString();
}

此代码仅用于计算 Datagridview 中的单元格,并且运行良好。问题是,我希望在加载表单时自动执行。现在我只是暂时把它放在 Cell Click 事件中,因为我想测试代码但不知道把代码放在哪里,请帮助我。

谢谢。

最佳答案

您可以使用两个选项来做到这一点:

首先创建一个新的 DataGridViewCellEventArgs 实例,然后指定列索引和行索引,您可以引用此链接了解更多信息: DataGridViewCellEventArgs

然后我将所有的 e 替换为 ee 因为在表单加载中,变量 e 已经被使用。就是这样。

    private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCellEventArgs ee = new DataGridViewCellEventArgs(1, 1);

decimal quantity = 0, avai = 0, newavai = 0;
decimal totalstock = 0, newtotalstock = 0;

if (decimal.TryParse(G1.Rows[ee.RowIndex].Cells["Quantity"].Value.ToString(), out quantity) && decimal.TryParse(G1.Rows[ee.RowIndex].Cells["AvailableStock"].Value.ToString(), out avai))
{
newavai = avai + quantity;
G1.Rows[ee.RowIndex].Cells["AvailableStock"].Value = newavai.ToString();
}
if (decimal.TryParse(G1.Rows[ee.RowIndex].Cells["TotalStock"].Value.ToString(), out totalstock) && decimal.TryParse(G1.Rows[ee.RowIndex].Cells["Quantity"].Value.ToString(), out quantity))
{
newtotalstock = totalstock + quantity;
G1.Rows[ee.RowIndex].Cells["TotalStock"].Value = newtotalstock.ToString();
}
}

另一种选择是您可以使用以下方法调用点击事件处理程序:

 private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCellEventArgs ee = new DataGridViewCellEventArgs(1, 1);
G1_CellClick(sender, ee);
}

private void G1_CellClick(object sender, DataGridViewCellEventArgs e)
{
decimal quantity = 0, avai = 0, newavai = 0;
decimal totalstock = 0, newtotalstock = 0;

if (decimal.TryParse(G1.Rows[e.RowIndex].Cells["Quantity"].Value.ToString(), out quantity) && decimal.TryParse(G1.Rows[e.RowIndex].Cells["AvailableStock"].Value.ToString(), out avai))
{
newavai = avai + quantity;
G1.Rows[e.RowIndex].Cells["AvailableStock"].Value = newavai.ToString();
}
if (decimal.TryParse(G1.Rows[e.RowIndex].Cells["TotalStock"].Value.ToString(), out totalstock) && decimal.TryParse(G1.Rows[e.RowIndex].Cells["Quantity"].Value.ToString(), out quantity))
{
newtotalstock = totalstock + quantity;
G1.Rows[e.RowIndex].Cells["TotalStock"].Value = newtotalstock.ToString();
}
}

关于c# - 加载表单时自动执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43749842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com