窗体load事件中不能赋值
来源:互联网 发布:adobe xd mac 破解版 编辑:程序博客网 时间:2024/05/29 18:48
程序如下:
Private Sub retu_input_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OleDb_retuinput_quest_retu.Fill(DataSet_retuinput_quest_retu1)
Binding_retuinput_qeust_retu.AddNew()
Tex_retu_input_saledate.Text = retu.saledate
Tex_retu_input_customer.Text = retu.customer
Tex_retu_input_saleprice.Text = retu.price
Tex_retu_input_blno.Text = retu.blno
Tex_retu_input_comid.Text = retu.comid
tex_retuinput_retu_date.Text = Today.Date
stop
Dim comid As String
comid = Tex_retu_input_comid.Text
OleDb_retuinput_commodity.SelectCommand.CommandText = "select * from commodity where [com_id] like '%" + comid + "%'"
OleDb_retuinput_commodity.Fill(DataSet_retuinput_commodity1)
Pic_commodity.ImageLocation = Application.StartupPath + "/pictures/" + Tex_commodity_pic.Text
End Sub
以上程序在语法上是没有错误的,而且在stop检查时各text控件都是有数据的,而且在下面的 comid 变量赋值及相应的检索操作都是正确的。但界面中的text框就是没有显示,而且如果在stop位置加上对OleDb_retuinput_quest_retu的数据库update操作会发现对数据库的数据添加都不成功(以上的text控件都绑定了OleDb_retuinput_quest_retu中的字段,正常情况下当text中的text属性变化时可以添加OleDb_retuinput_quest_retu中相应字段的数据。)
*其中的 tex_retuinput_retu_date.Text = Today.Date 这个可以正常显示
后来把以上程序更改为:
Private Sub retu_input_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Tex_retu_input_saledate.Text = retu.saledate
Tex_retu_input_customer.Text = retu.customer
Tex_retu_input_saleprice.Text = retu.price
Tex_retu_input_blno.Text = retu.blno
Tex_retu_input_comid.Text = retu.comid
tex_retuinput_retu_date.Text = Today.Date
Dim comid As String
comid = Tex_retu_input_comid.Text
OleDb_retuinput_commodity.SelectCommand.CommandText = "select * from commodity where [com_id] like '%" + comid + "%'"
OleDb_retuinput_commodity.Fill(DataSet_retuinput_commodity1)
Pic_commodity.ImageLocation = Application.StartupPath + "/pictures/" + Tex_commodity_pic.Text
End Sub
Private Sub retu_input_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OleDb_retuinput_quest_retu.Fill(DataSet_retuinput_quest_retu1)
Binding_retuinput_qeust_retu.AddNew()
End Sub
也就是在窗体load事件后再active事件中才进行赋值就一切正常了,原因可能是窗体中的数据库控件在窗体load事件中的执行顺序是排在最后的,或者是在load完成后才能对数据库控件执行操作。导致了这种情况的出现。
一句话就是在load事件中对数据库进行添加,更改等操作是不可行的。
- 窗体load事件中不能赋值
- WINFORM 父窗体Load事件中打开子窗体并关闭自身
- C# 重新加载窗体Load事件
- C#Winform主窗体Load事件中对菜单权限进行控制
- 窗体的Resize事件,Load事件如何添加
- C#窗体的Load事件与Shown事件的区别
- C#窗体的Load事件与Shown事件的区别
- WinForm之通过事件传值来完成添加修改窗体赋值
- C# 中几个窗体事件
- Delphi中窗体的事件
- 为什么vb的load事件不能显示输出
- 在winform中,MDI窗体不能打开重复窗体
- C#在Load事件中退出程序
- jQuery中ready与load事件
- C#中‘事件’可否赋值为null
- 点击datagridview任何单元格赋值别一个窗体Textbox中
- C#子窗体调用主窗体中事件
- C#中重载窗体关闭事件
- html教程
- MPlayer开发
- 3d坐标系统
- JBOSS远程代码执行漏洞
- 音频相关简介--码率
- 窗体load事件中不能赋值
- 经典C/C++面试题(三)
- 另外一道题目:点菜
- 经典C/C++面试题(三)2
- openjweb官方网站地址改为http://www.openjweb.com
- 经典C/C++面试题(四)
- 经典C/C++面试题(五)
- 如何保持软件开发团队的稳定性
- visita 无法连接到打印机。 内存不足,无法完成这个操作。请关闭一些程序,再试一次