重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
就是重绘printPreviewDialog1控件。控件容器中,包含ToolStrip控件。
创新互联-专业网站定制、快速模板网站建设、高性价比大化网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式大化网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖大化地区。费用合理售后完善,十余年实体公司更值得信赖。
目的:在ToolStrip控件集合中添加一个ToolStripButton控件按钮。
代码如下:
====================================================
Public Class Form1
'定义相关变量
Private ppdlog1 As New printPreviewDialog '预览控件
Private mytoolstrip1 As New ToolStrip
Private WithEvents myButton1 As New ToolStripButton '新按钮
'------------------创建新按钮的过程
Private Sub CreatemyButton()
Dim c1 As Control
For Each c1 In ppdlog1.Controls
If TypeName(c1) = "ToolStrip" Then
mytoolstrip1 = c1
End If
Next
myButton1.Text = "新按钮"
mytoolstrip1.Items.Add(myButton1)
End Sub
'-----------------------
'在Sub New()中调用如下:
'--------------------------------------------
Public Sub New()
' 此调用是设计器所必需的。
' 在 InitializeComponent() 调用之后添加任何初始化。
CreatemyButton() '创建“新按钮”的过程
End Sub
'----------------------------------------------------
'myButton1的Click过程
'===================
Private Sub myButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("新按钮创建成功!")
'//执行代码.......
End Sub
'===================
'测试一下:
'----------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ppdlog1.Document = PrintDocument1
ppdlog1.ShowDialog()
End Sub
'----------------
End Class
==================================================
效果如图:
先得到目标窗体的 handle (句柄) 或整个对象, 然后实例化一个button 并加入到窗体对象中. 如: 在 form2 点击 add 按钮后, form1 会新添加一个按钮,单击显示hello , 下面是两个窗口类. public class form1 inherits system.windows.forms.form '这是一个什么都没有的空窗体 public sub new() me.size=new size(200,200) end subend class public class form2 inherits system.windows.forms.form private button1 as button '添加按钮 private frm as form public sub new() me.size=new size(200,200) button1= new button() '实例化 button1.text="add" '名字就叫 add button1.location=new point(50,50) addhandle button1.click, addressof add_click me.controls.add(button1) end sub '用于记录form1对象的属性 public property form1() as form get return frm end get set (byval value as form) frm = value end set end property '添加按钮 private sub add_click(byval o as object, byval e as eventargs) '当form1属性被指定,向form1 添加按钮 if frm isnot nothing then dim btn as button = new button() btn.text ="new button" btn.location=new point(50,50) addhandle btn.click, addressof button_click frm.controls.add (btn) else msgbox ("未指定form1") end if end sub '新按钮的单击事件 private sub button_click(byval o as object, byval e as eventargs) msgbox("hello!") end subend class 两个窗体类完成了,然后在模块写如下代码,程序设置为从模块启动:public module module1 public sub main() dim frm1= new form1() dim frm2 = new form2() frm2.form1=frm1 frm2.show() frm1.show() application.run(frm2) end subend module
Public Sub GenerateDynamiceButton()
'建立 坐标位置的变数, 方便一会儿安排 自动生产的button 的位置
Dim y As Integer = 15
Dim x As Integer = 0
' 用for loop 来建立 这些button 做 18只button
For ButtonIndex As Integer = 0 To 17
' 建造新的 button
Dim MyButton As New Button
'设定这新的button 的阔度
MyButton.Width = 80
'设定这新的button 的高度
MyButton.Height = 20
'我们暂定每行有4个BUTTON, 当每行有多个4个BUTTON 时重设行距, 令到下一行的和这一行的距离有10 个PIXEL
' 和重设x 坐标` = 0, 令到位置由头开始
If ButtonIndex Mod 4 = 0 Then
'设定 TOP 的 坐标位置令他可以和上一排的有10个PIXEL 的距离
y += MyButton.Height + 10
x = 0
End If
'设定文字 和 位置
' Set the text and set its top and left based on its dimensions and count
MyButton.Text = "My Button" ButtonIndex
'设定 TOP 的 坐标位置
MyButton.Top = y
'下面的CODE 可以令到这个BUTTON 和另一个BUTTON 有5个PIXEL 的距离
MyButton.Left = 26 + (x * (MyButton.Width + 5))
x += 1
'设定 BUTTON CLICK EVENT
AddHandler MyButton.Click, AddressOf MyButton_Click
'把button 加到 form 中
Me.Controls.Add(MyButton)
Next
End Sub
'处理 button click event
Private Sub MyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim btn As Button = sender
'pop up 一个自己button 的字的message
MsgBox(btn.Text)
制作一个按钮:
Dim my_Button As New Button
my_Button.SetBounds(Me.Width - 75, 0, 75, 23)
Me.Controls.Add(my_Button)
在软件运行前是看不到这个按钮,运行后可见,运行后想更改按钮位置,简单的方法启动一个事件,如textbox输入数值后通过Button的点击事件修改my_Button的顶点位置,还有的方法就是拖动,拖动应该是高级编程部分而且几十行代码,没有人愿意写
ToolStripMenuItem.ShortcutKeys 属性
获取或设置与 ToolStripMenuItem 关联的快捷键。
使用 ShortcutKeys 属性可以将组合键分配给菜单命令,例如,将 Ctrl+C 分配给“复制”命令。 您可以使用快捷键而不使用访问键,也可以同时使用快捷键和访问键,访问键是菜单或菜单项中与 Alt 键一起使用的带下划线的字母。 通过在要用于访问键的字母前面键入一个“and”符 (),可以在代码中定义访问键。
是有错误嘛,因为表名family后应该有一个空格才能接(num,name,pwd,qx,bz)