vb转vb.net编程,遇到的一些问题
环境Visual Studio 2010:
我是VB老编程员,在VB和VB.net转型方面遇到一些问题,整理如下,希望内行帮忙解答,个别之处如果能配上代码最好,感谢不尽:
1. picturebox控件问题
VB中,放置一个image控件后就可以方便在代码中设置其中的图象文件,但在vb.net中,好象找不到相关的属性,如何动态修改image中的图象?
2. VB一个项目中可以增加很多的Form,用代码可以方便调用Form的显示和关闭,用VB.net开发silverlight时,发现vb.net中的窗体调用不适用,在开发silverlight是如何调用其它窗体的呢?
3. 在VB.net开发silverlight时,每次编译都要点菜单中的 Rebuild 项目名 一下,才能再按F5预览运行效果。能不能象VB那样,设置成直接按F5就编译预览了。多编译一次太麻烦了!
6. 在VB中两个窗体间的变量互相传递,是在模块或是类中定义变量名,VB.net在开发silverlight应用时是如何实现两窗体间的变量传递的呢?
7.在vb.net调用数据库,编写数据库应用时有没有更方便的方法?看了很多相关代码,感觉比在VB中用起来更麻烦,写的代码更多。难道退步了?
8.vb.net开发asp.net网页时,如何监测客户端发来的参数?比如填写的用户名,密码之类的.....
(给出具体网址,我去学习参看即可)
9.用VB.net开发aspx的网页时,表单中有一个DropDownList1控件,还有一个label控件,如何实现DropDownList1进行了选择后,能在Label.text中显示DropDownList11中的列表项的内容?在VB中能轻松实现,可在VB.net中试了DropDownList11的SelectedIndexChanged和TextChanged两个事件中放代码都没有效果,真是奇怪!
答案:1:给你一个例子,如何运用picturebox,直接拷过去运行,会自己生成窗体的Designer文件,从这个例子中你可以延伸理解picturebox
图片按钮:
参考:
http://hi.zhaoxi.net/rdzwx/blog/item/77e92bec47d114222cf534fe.html
2,将事先在项目中添加了窗口的程序(比如:Form1)的DLL引进到主程序(FormMain)中,用你说的Form f = new Form1() f.Show()来打开,
在运行的时候,用这个方法就可以打开,
用Application.OpenForms这个方法可以找到你所有打开着的窗口,然后可以对他们进行关闭之类的操作
另外,不通过new也能打开class,请参考 http://hi.zhaoxi.net/rdzwx/blog/item/4bec471b93a87171dbb4bd18.html
3,我不知道
6,两个窗体间Form1,Form2
例子:
Form2.vb中定义
Public Property ProGramId() As String
Get
Return _programId
End Get
Set(ByVal value As String)
_programId = value
End Set
End Property
然后再Form1里面new Form2后就可以点出这个“ProGramId”,然后进行变量传递。(Form f = new Form2() f.ProGramId=“XXX”)
7,比如同一数据源:DataTable1,你若在表格中修改了数据,数据时实时反映到DataTable1,另一个控件应该能立即反映。如果不行然后你的另一个控件只要refresh一下就可以了。
例如: Dim dt1 As New DataTable
dt1.Columns.Add("A", GetType(Integer))
dt1.Columns.Add("B", GetType(Integer))
dt1.Columns.Add("C", GetType(Integer))
dt1.PrimaryKey = New DataColumn() { _
dt1.Columns("A")}
dt1.Rows.Add(1, 2, 3)
dt1.Rows.Add(11, 22, 33)
dt1.Rows.Add(111, 222, 333)
dt1.AcceptChanges()
dgv1.DataSource = dt1
dgv2.DataSource = dt1
dgv1是DataGridView控件。
我刚才试过,数据是实时变动的。
8,(1)可以通过建立session去取。
(2)Request.QueryString(“USER”)
9,用SelectedIndexChanged方法即可,不过你试过没有用是因为开发aspx的网页时考虑到要不要刷新页面的问题,你只需要将DropDownList.AutoPostBack的属性设置成True即可。Dim b, w, i, sum As Integer
Dim a As Long
Console.WriteLine("请输入一个二进制数")
a = Console.ReadLine()
Console.WriteLine("请输入这个二进制数的位数")
w = Console.ReadLine()
b = w
sum = 0
For i = b To 0
If a - (1 * 10 ^ b) >= 0 Then
sum = sum 1 * 10 ^ b
a = a - (1 * 10 ^ b)
b = b - 1
End If
Next
Console.WriteLine(sum)
Console.ReadLine()
End Sub
这是一个dos窗口的逆转划一下
一改能看懂你
上一个:编程中的语言VB和C语言有什么区别?
下一个:计算机二级vb主要考哪些章节的内容