C#立场问题
我在VB中得到了下面的代码,我想把它用在c中,我想我是对的,但是当我点击事件时,我只需要记录2,我的表中有几条记录C#立场问题,c#,C#,我在VB中得到了下面的代码,我想把它用在c中,我想我是对的,但是当我点击事件时,我只需要记录2,我的表中有几条记录 private void pictureBox2_Click(object sender, EventArgs e) { sF1411BindingSource.Position = +1; } 我回击的时候也是这样。例如,如果我在记录12上,我单击该事件并bam到第一条记录。我是一个Vb的家伙,我试图在这里自学c#,所以我可能有点过分了 private void pic
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position = +1;
}
我回击的时候也是这样。例如,如果我在记录12上,我单击该事件并bam到第一条记录。我是一个Vb的家伙,我试图在这里自学c#,所以我可能有点过分了
private void pictureBox1_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position = -1;
}
谢谢 如果要增加该值,请使用+=:
Position+=1代码>如果要增加值,请使用+=:位置+=1代码>您应该使用位置+=1;反而
Private void pictureBox2_Click(object sender, EventArgs e) { sF1411BindingSource.Position += 1; }
private void pictureBox1_Click(object sender, EventArgs e) { sF1411BindingSource.Position -= 1; }
您应该使用Position+=1;反而
Private void pictureBox2_Click(object sender, EventArgs e) { sF1411BindingSource.Position += 1; }
private void pictureBox1_Click(object sender, EventArgs e) { sF1411BindingSource.Position -= 1; }
我想你想做+=和-=:
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position += 1;
}
及
我想你想做+=和-=:
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position += 1;
}
及
也许你的意思是:
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position +=1;
}
也许你的意思是:
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position +=1;
}
用于递增和递减的?+=和-=在C#和VB中是相同的
+=和-=用于递增和递减在C#和VB中是相同的
您是否希望pictureBox2_Click方法将1添加到sF1411BindingSource.Position?如果是这种情况,您需要使用。使用该键可将值减1
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position += 1;
}
此外,我认为在递增或递减位置之前,您可能需要检查自己是否处于最后一个位置或第一个位置。您的目的是让pictureBox2\u Click方法将1添加到sF1411BindingSource.position中吗?如果是这种情况,您需要使用。使用该键可将值减1
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position += 1;
}
此外,我认为在递增或递减位置之前,您可能需要检查自己是在最后还是在第一个位置。正如其他人正确指出的,您应该使用+=和-=运算符,这些运算符由编译器转换为加法和赋值表达式:
int a = 10;
int b = 20;
a += b;
是写作的捷径
int a = 10;
int b = 20;
a = a + b;
但是,由于您只想将位置增加和减少一个,因此可以使用较短的C样式++和--运算符:
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position++;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position--;
}
这可能有点离题,但我也建议您利用C#lambda表达式进行事件处理。由于您在事件处理程序中做的不多,因此可以在构造函数中将它们定义为一行程序:
public MyForm ()
{
InitializeComponent();
nextRecordBox.Click += (sender, e) =>
bindingSource.Position++;
prevRecordBox.Click += (sender, e) =>
bindingSource.Position--;
}
这些功能仅从C#3.0开始提供,但您可以出于同样的目的使用C#2.0。它们节省了大量空间,避免了被单线方法占用
至于具体的例子,我建议使用MovePrevious和MoveNext方法。它们也在BindingSource类中定义,并且更加详细
当用户在最后一条记录上单击“下一步”时,您可能还希望跳转到开始。
这是如何做到的:
nextRecordBox.Click += (sender, e) => {
if (bindingSource.Position == bindingSource.Count - 1) // is last
bindingSource.MoveFirst ();
else bindingSource.MoveNext ();
};
而且,请为UI元素使用好的名称
谢谢,
Dan正如其他人正确指出的那样,您应该使用+=和-=运算符,这些运算符由编译器转换为加法和赋值表达式:
int a = 10;
int b = 20;
a += b;
是写作的捷径
int a = 10;
int b = 20;
a = a + b;
但是,由于您只想将位置增加和减少一个,因此可以使用较短的C样式++和--运算符:
private void pictureBox2_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position++;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
sF1411BindingSource.Position--;
}
这可能有点离题,但我也建议您利用C#lambda表达式进行事件处理。由于您在事件处理程序中做的不多,因此可以在构造函数中将它们定义为一行程序:
public MyForm ()
{
InitializeComponent();
nextRecordBox.Click += (sender, e) =>
bindingSource.Position++;
prevRecordBox.Click += (sender, e) =>
bindingSource.Position--;
}
这些功能仅从C#3.0开始提供,但您可以出于同样的目的使用C#2.0。它们节省了大量空间,避免了被单线方法占用
至于具体的例子,我建议使用MovePrevious和MoveNext方法。它们也在BindingSource类中定义,并且更加详细
当用户单击最后一条记录上的“下一步”时,您可能还希望跳转到开始位置。
这是如何做到的:
nextRecordBox.Click += (sender, e) => {
if (bindingSource.Position == bindingSource.Count - 1) // is last
bindingSource.MoveFirst ();
else bindingSource.MoveNext ();
};
而且,请为UI元素使用好的名称
谢谢,
丹