vb.net图像重叠的简单介绍

VB.NET 不同控件重叠时,如何控制某一个在上面。VB.NET 不同控件重叠时,如何控制某一个在上面。

选择其中一个控件,右键“置于底层”、“置于顶层”即可,望采纳。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的绥德网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

.NET (VB.NET | C#) WPF 判断两个控件是否接触,比如两个Polygon是否有重叠?

如图所示黑色矩形为窗体边线;

L1是控件1的左边离开窗体左边界的距离;

T1是控件1的上边离开窗体上边界的距离;

W1是控件1的宽度;

H1是控件1的高度;

L2是控件2的左边离开窗体左边界的距离;

T2是控件2的上边离开窗体上边界的距离;

W2是控件2的宽度;

H2是控件2的高度;

如果把边界相切也算作重叠,根据数学知识可以找出不重叠的数学关系;

一,水平情况不重叠;

1,控件1在控件2的左边

有:L1 + W1 L2

2,控件2在控件1的左边

有:L2 + W2 L1

二,垂直情况不重叠;

3,控件1在控件2的上边

有:T1 + H1 T2

4,控件2在控件1的上边

有:T2 + H2 T1

以上四种情况只要有一个成立,两个控件就不重叠;反之就重叠,代码的逻辑关系如下;

If (L1 + W1 L2) Or (L2 + W2 L1) Or (T1 + H1 T2) Or (T2 + H2 T1) Then

MsgBox("不重叠!")

Else

MsgBox("重叠!")

End If

关于VB.NET编制打印程序,打印出来页面内容总是重叠在一起的问题

参考:

把执行SQL语句后得到的记录集逐条(含字段名)显示在LISTVIEW控件中

'----------------------------------------------------------------

Public Sub ListUpdate(ByRef rs As Recordset, ByRef lv As ListView)

Dim head As ColumnHeader, Item As ListItem

Dim i As Integer, j As Integer

Dim lvWidth As Integer

lvWidth = lv.Width

'初始化LISTVIEW的某些属性

lv.View = lvwReport

lv.GridLines = True

lv.FullRowSelect = True

lv.ListItems.Clear

lv.ColumnHeaders.Clear

For i = 0 To rs.Fields.Count - 1

Set head = lv.ColumnHeaders.Add

head.Text = rs.Fields(i).Name

head.Width = lvWidth / rs.Fields.Count

Next

For j = 1 To PERPAGE

If rs.EOF Then Exit For

Set Item = lv.ListItems.Add

Item.Text = "" rs.Fields(0).Value

For i = 1 To rs.Fields.Count - 1

Item.SubItems(i) = "" rs.Fields(i).Value

Next

rs.MoveNext

Next

End Sub

' 打印

Public Sub PrintRecordset(ByRef recRecordset As Recordset, ByVal strType As String)

Dim LeftMargin As Integer

Dim HeadTopPosition As Integer

Dim FieldNum As Integer

Dim PageCounter As Integer

Dim MyRecordset As ADODB.Recordset

Const FooterTopPosition = 24

Set MyRecordset = recRecordset

PageCounter = 1

' 设 置Printer 对 象 坐 标 的 度 量 单 位 为 厘 米

Printer.ScaleMode = vbCentimeters

LeftMargin = 1.5

HeadTopPosition = 2

' 定 义 打 印 页 左 上 角 的X 坐 标 和Y 坐 标, 通 过 改 变ScaleLeft 和ScaleTop 的 值, 可 改 变 打 印 页 的 左 边 距 和 上 边 距

Printer.ScaleLeft = -LeftMargin

Printer.ScaleTop = -HeadTopPosition

Printer.Font.Name = "Times New Roman"

Printer.Font.Size = 12

Printer.Print "音像店顾客管理系统"

Printer.Print strType

Printer.Print ""

If MyRecordset.EOF And MyRecordset.BOF Then

MsgBox "No Record At Presend!", vbCritical And vbOKOnly, "Print Error"

Exit Sub

End If

MyRecordset.MoveFirst

Do Until Printer.CurrentY FooterTopPosition

'Print the fields of the recordset in sequence

For FieldNum = 0 To MyRecordset.Fields.Count - 1

Printer.Print MyRecordset.Fields(FieldNum).Name _

": " _

MyRecordset.Fields(FieldNum).Value

If Printer.CurrentY FooterTopPosition Then

Printer.CurrentX = 8

Printer.Print "Page: " PageCounter

' 创 建 多 页 文 档

Printer.NewPage

PageCounter = PageCounter + 1

End If

Next FieldNum

MyRecordset.MoveNext

If MyRecordset.EOF Then Exit Do

' 在 记 录 之 间 空 一 行

Printer.Print ""

Loop

'Print the Page number as a footer

Printer.CurrentX = 8

Printer.CurrentY = FooterTopPosition

Printer.Print "Page: " PageCounter

' 将 输 出 送 到 打 印 机

Printer.EndDoc

End Sub

vb.net 窗口重叠问题

Form1的不透明度改为5%以内就可以点击到form2的控件

对应form2按钮的位置在form1画一个picturebox,背景色为黑色,窗体的透明色改为与背景色相同的颜色

VB.NET 不同控件重叠时,如何控制某一个在上面。

如果是在设计模式下,在控件上单击右键,有“置于顶层”“置于底层”的选项。

如果对于已经生成好的程序,那么已经在设计模式下添加到窗体上的控件是不能够调整显示顺序的,倒是通过 Me.Controls.Add(Me.Controls) 这种方式动态添加的控件可以调整顺序,哪个被先 Add 了,哪个就显示在顶端。

如果对这个比较好奇的话,可以到 Form1.Designer.vb 下找到 InitializeComponent() 这一段,看里面不同的 Me.Controls.Add(Me.Controls) 的顺序会导致窗体呈现出怎样的结果。


文章题目:vb.net图像重叠的简单介绍
网站路径:http://myzitong.com/article/hjjdhh.html