标签: control-array

什么是最简单的.NET等效的VB6控件数组?

也许我还不太熟悉.NET,但我还没有看到一种令人满意的方式在.NET中轻松实现这个简单的VB6代码(假设这个代码在一个带有N CommandButtons的表单Command1()和N中数组Text1()中的TextBoxes:

Private Sub Command1_Click(Index As Integer)

   Text1(Index).Text = Timer

End Sub
Run Code Online (Sandbox Code Playgroud)

我知道它不是非常有用的代码,但它证明了控制数组在VB6中的易用性.C#或VB.NET中最简单的等价物是什么?

.net vb6 control-array vb6-migration

9
推荐指数
1
解决办法
1万
查看次数

vb6 - 如何在控制数组中找到最大元素索引?

我正在动态加载和卸载窗体上的命令按钮数组.

我可以做这个:

    Dim UnloadIndex As Integer
    For UnloadIndex = 1 To 20
        Unload frmMain.cmdAction(UnloadIndex)
    Next
Run Code Online (Sandbox Code Playgroud)

但我并不总是有20个元素.有没有办法循环每一个直到它到达终点?

我知道我可以使用全局变量并跟踪值,但我试图避免这种情况.

有什么建议请...

vb6 control-array

3
推荐指数
2
解决办法
3685
查看次数

在C#/ ASP.NET中控制数组类型循环

我正在编写一个C#/ ASP.Net Web应用程序,我有大量的文本框需要在后面的代码中设置为变量值.目前我正在做以下事情:

AspTextBox0.Text = codeBehindVariable[0];
AspTextBox1.Text = codeBehindVariable[1];
AspTextBox2.Text = codeBehindVariable[2];
AspTextBox3.Text = codeBehindVariable[3];
… 
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法可以在一个简单的"for"循环中执行此操作吗?

这是一个非常简化的示例,真实程序有一个开关案例和一些其他需要在分配变量时执行的测试.因此,"for"循环将极大地简化代码的编写和可维护性.回到VB6和控制阵列的旧时代,这是件小事.

c# asp.net control-array

2
推荐指数
1
解决办法
2560
查看次数

如何使用控件数组获取C#中给定对象的数组索引?

我正在动态地向表单添加一堆控件.每个控件都调用相同的方法,在该方法中,我需要知道执行该操作的控件的数组索引.

CheckBox[] myCB = new CheckBox[100];
int i;
for (i = 0; i < 100; i++)
{
    myCB[i] = new CheckBox();
    myCB[i].Text = "Clicky!";
    myCB[i].Click += new System.EventHandler(dynamicbutton_Click);
    tableLayoutPanel1.Controls.Add(myCB[i]);
}

private void dynamicbutton_Click(Object sender, System.EventArgs e)
{
    label1.Text = sender.???array index property???.ToString();
}
Run Code Online (Sandbox Code Playgroud)

因此,如果我点击myCB[42] label1将读取"42"当然,如果有一种更简单的方法来处理动态控件我会很感激指针.

.net c# controls control-array event-handling

1
推荐指数
1
解决办法
3503
查看次数

如何将函数绑定到C#中控件数组中每个控件的Click事件

在C#中创建控件数组时,如何将接收单击按钮索引的函数绑定到其click事件?

以下是一些仅用于更好理解的代码.在代码之上的某处,您可以定义按钮:

Button [] buttons = new Button[100];
Run Code Online (Sandbox Code Playgroud)

它们的标准Click事件如下所示:

private void myClick(object sender, EventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

通常你这样绑定它:

for (int i = 0; i < 100; i++)
    buttons[i].Click += myClick;
Run Code Online (Sandbox Code Playgroud)

但我希望事件处理程序采用以下形式:

private void myClick(int Index)
{

}
Run Code Online (Sandbox Code Playgroud)

如何使用/不使用临时功能将点击事件绑定到上述功能?

我想过使用委托,Func<T, TResult>表示法,或以某种方式传递自定义EventArgs,其中包含单击按钮的索引; 但由于缺乏足够的C#知识,我没有成功.

如果你们中的任何人建议在其标签中保存每个控件的索引:是的,这是可能的,但我不想出于某种原因使用它,因为如果你有一个类抛出一些事件但是没有标签属性或东西,这种方式是没用的.

c# control-array bind event-handling winforms

1
推荐指数
1
解决办法
1825
查看次数

Lazarus/Delphi - 单击项目的indext /元素(控制数组)

我在表单上有一组PANEL,它们用作按钮.分配了一个事件过程.所以当我点击一个按钮时,我可以看到它的标题:

procedure TForm1.MenuAction0Click(Sender: TObject);
begin
  TPanel(Sender).Font.Bold:= true;
  ShowMessage( TPanel(Sender).Caption);

end;
Run Code Online (Sandbox Code Playgroud)

我想知道按钮编号(如数组元素编号)而不是标题.这怎么可能?

谢谢!

delphi control-array element freepascal lazarus

0
推荐指数
1
解决办法
1082
查看次数