十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在窗体上加上三个标签控件:Label1、Label2、Label3
创新互联2013年开创至今,先为靖西等服务建站,靖西等地企业,进行企业商务咨询服务。为靖西企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
Private Sub DataGridView1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseUp
Dim counter As Integer
Dim SelectedCellTotal As Integer = 0
Dim SelectedCellCount As Integer = 0
For counter = 0 To (DataGridView1.SelectedCells.Count - 1)
If DataGridView1.SelectedCells(counter).FormattedValueType Is _
Type.GetType("System.String") Then
Dim value As String = Nothing
If (DataGridView1.IsCurrentCellDirty = True) Then
value = DataGridView1.SelectedCells(counter).EditedFormattedValue.ToString()
Else
value = DataGridView1.SelectedCells(counter).FormattedValue.ToString()
End If
If value IsNot Nothing Then
If Not value.Length = 0 Then
SelectedCellTotal = SelectedCellTotal + Integer.Parse(value)
SelectedCellCount = SelectedCellCount + 1
End If
End If
End If
Next
Label1.Text = "选中的单元格个数为: " SelectedCellCount.ToString()
Label2.Text = "单元格里数据之和为: " SelectedCellTotal.ToString()
Label3.Text = "选中的单元格行数为:" DataGridView1.SelectedRows.Count.ToString()
End Sub
虽然下面代码也用了两个inputbox函数,但是比你的应该也要简单点,仅供参考
const
a
=
1.5
dim
v0
as
string
dim
vt
as
string
dim
t
as
long
dim
s
as
double
private
sub
form_load()
v0
=
inputbox("请输入初速度(m/s)",
"数据输入框")
text1.text
=
v0
t
=
inputbox("请输入时间(s)",
"数据输入框")
text2.text
=
t
vt
=
v0
+
a
*
t
s
=
v0
*
t
+
(1
/
2)
*
a
*
t
^
2
end
sub
private
sub
command1_click()
msgbox
"距离是"
s
end
sub
分析:窗体之间的数值传递有3种方案。分别是通过公共变量、接口和事件委托。我给你说说通过接口来在窗体之间传递数据吧。
显示"第一位成绩":从form2传值到form1,显示排序,需要传递一个datatable.
为了方便起见,这两个数据都从datatable里面来。
1、首先定义一个公共接口(新建项)(假设传递的是
Public Interface ITransferText
Sub 数据传输(ByVal tText As datatable)
End Interface
2、在form2和form3中加入代码:
Private 数据发送 As ITransferText
Sub New(ByVal iTrans As ITransferText)
Me.iTransferLink = iTrans
InitializeComponent()
End Sub
‘在form2和form3的一个按钮事件中加入:
数据发送.数据传输(dt)
me.dispose
'当然,你需要在这之前将需要传输的东西装类型为datatabe的变量dt中。
3、在form1中加入代码:
(1)Public Class Form1
Implements ITransferText
(2)、sub…点击后form2显示,通过form2操作生成第一位成绩事件…
Dim newFrm As New Form2(Me)
newFrm.Show()
end sub
、sub…点击后form3显示,通过form3操作生成绩列表,然后传递…
Dim newFrm As New Form3(Me)
newFrm.Show()
end sub
(3)当然你还需要在form1中用个方法实现接口
Sub 数据接收(ByVal dt As datatable) Implements ITransferText.数据传递
这里如果dt只有1行1列就更新你的第一名成绩
如果多行,就再你的form1上显示这个表dt就行了。
end sub