2012-07-30 74 views
0

我有一个form,它具有MenuScript(顶级和第二级)。从另一个表格更新文本文件中的一行

我遇到的问题是其中一个第二级别是“添加”,它将您带到另一个form。这form有一个按钮'记录'和textboxes。这种形式允许用户输入数据,当记录按钮被点击时,输入的数据被写入文本文件。

回到第一个表格。另一个二级菜单是“更新”,它将用户带到与“添加”相同的form;但首先,用户必须单击listbox中的项目才能继续。

如何从选定的项目中获取数据以显示在合适的textboxes中,以及如何获取“记录”按钮来更新数据,而不是认为它只是一个添加数据按钮?

此外,如果有人可以给我一些指示,以确保用户选择listbox内的项目肯定会是一个加号!

不幸的是,由于我的声望太低,我无法添加图片。

Here is a visual representation of my ultimate goal

+0

一个完整的答案应该包括一个小程序!我想你有一个类来描述每个记录(用一个ToString()覆盖来返回要在ListBox中显示的标题)。只需将一个属性添加到表单中,调用者在该表单的Show事件中设置记录本身(或文件路径)和(例如)读取该数据并填充文本框。要禁用菜单项,当ListBox.SelectedIndex为-1时,可以使用Application.Idle事件将MenuItem.Enabled属性设置为false。 – 2012-07-30 06:47:13

回答

0

要访问控制的另一种形式,可以将表格名称前缀控件名称(在其他形式的控制的名称)。

例子:

Form2.TextBox1.Text = "Hey, this is the second form" 

要检查项目是否处于选中状态,你可以做这样:

If ListBox1.SelectedItems.Count = 0 Then 
     MessageBox.Show("Please select an item") 
    Else 
     MessageBox.Show("Thanks for selecting an item") 
    End If 

或者这样说:

If ListBox1.SelectedIndex = -1 Then 
     MessageBox.Show("Please select an item") 
    Else 
     MessageBox.Show("Thanks for selecting an item") 
    End If