189 8069 5689

关于w2vb188net的信息

vb点虐 如何跨线程访问控件

用 Control.Invoke 方法

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

比如

label1.Invoke(delegate(){ label1.Text = "New Text"; });

.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中用什么代码打印文件啊,语句怎么写啊,

VB中的几种打印方法

1. 采用Visual Basic 提供的简单打印函数PrintForm 方法。应用程序窗体的PrintForm 方法时,Visual Basic 把窗体的位图送到当前打印机。该方法的优点在于它几乎不需要任何编程,但也有很大缺陷。最为突出的是当低分辨率图形在高分辨率打印机上打印时,其结果令人无法满意,会产生锯齿。下面代码将在打印机上打印窗体。

Private Sub Command1_Click() ' 用PrintForm 打印

Me.PrintForm ' 打印窗体的可见区域

End Sub

2. 用Printer 对象进行高分辨率输出。但要想产生复杂的打印输出,编程较为烦琐。Printer 对象代表系统缺省的打印机,Printer 对象支持许多由窗体和图形框所支持的属性和方法,三种对象都有画线和画方框。应用程序可用以下代码在Printer 对象上画出一平方英寸的方框。它离左上角二英寸。注意:打印机以twips 来测量距离。每英寸有1440 个twips。

Printer.Line(2 *1440,2 *1440) -Step(1440,1440), ,B

打印机、从窗体和图形框都有Circle、PaintPicture、Print、Pset、TextHeight、TextWidth 方法。使用这些方法,应用程序可以为打印机生成高分辨率输出。

打印文本直接用Print 方法,见下列代码:

Printer.Print "Hello,China ComputerWorld!" ' 打印字符串

Printer 对象还有一些窗体和图形框都没有方法:

NewPage 告诉打印机,程序对当前输出页的发送已经结束,Printer 对象应开始新的一页。

EndDoc 告诉VB,程序创建文档结束,VB 应将它发送到物理打印机上打印。

KillDoc 取消当前打印作业。应用程序应该终止由EndDoc 和KillDoc 所设定的每个打印作业。

Zoom 属性用于定义打印输出的缩放因子。

Copies 属性用于定义打印的副本数目。

3. 采用直接将数据传送打印机的方法进行打印输出。有两种方法将数据送往打印机。第一种是用Print #方法,就像将数据写入一个文件一样。另一种方法写端口,但不是送文本,而是送特定的PCL 语言,PCL 表示打印控制语言,它是一种特殊语言,用转义代码来控制打印机的具体动作。因为此方法太烦琐,本文不做太多介绍。

4. 如果你在编程时用到了RichTextBox 控制,那么你可以使用该控件的SelPrint 方法来打印,使用非常简单。下面一段代码即用RichTextBox 控件的SelPrint 方法来完成打印。

Private Sub Command3_Click() 'SelPrint 方法

CommonDialog1.Flags=cdlPDReturnDC +cdlPDNoPageNums

If RTF1.SelLength = 0 Then

'RTF1 为窗体的RichTextBox 控制

CommonDialog1.Flags = CommonDialog1.Flags

+cdlPDAllPages

Else

CommonDialog1.Flags = CommonDialog1.Flags +

cdlPDSelection

End If

CommonDialog1.CancelError = True

On Error Resume Next

CommonDialog1.ShowPrinter

If Err.Number = cdlCancel Then Exit Sub

If Err.Number 0 Then

Beep

MsgBox "Error printing file."

&vbCrLf +Err.Description, vbOKOnly +vbExclamation,

“Printing Error!"

Exit Sub

End If

Printer.Print ""

RTF1.SelPrint CommonDialog1.hDC

' 打印RTF1 控件的可见区域

End Sub

上面代码先进行打进设置,再进行打印。如果不需要设置,采用下面代码更为简单:

RTF1.SelPrint Printer.hDC

' 打印RTF1 控件的可见区域

5. 可以在VB 中调用Word 97 提供的OLE 自动化服务,利用Word 97 强大的打印功能来完成VB 打印,笔者认为这是最令人满意的方法。下面代码说明VB 如何与Word 集成。

Private Sub Command4_Click() ' 调用Word 打印

Dim objWord As Object

Const CLASSOBJECT = "Word.Application"

On Error GoTo objError

Set objWord = CreateObject(CLASSOBJECT)

objWord.Visible = True

objWord.Documents.Add

With objWord

.ActiveDocument.Paragraphs.Last.Range.Bold = False

.ActiveDocument.Paragraphs.Last.Range.Font.Size =20

.ActiveDocument.Paragraphs.Last.Range.Font.Name =

"黑体"

.ActiveDocument.Paragraphs.Last.Range.Font.ColorIndex==4

.ActiveDocument.Paragraphs.Last.Range.Text =

"我是计算机世界读者!"

End With

Clipboard.Clear

Clipboard.SetText

"通过剪切板向WORD 传送数据!"

objWord.Selection.Paste

objWord.PrintPreview = True ' 预览方式

'objWord.PrintOut' 执行打印

'objWord.Quit' 退出Word

Exit Sub

objError:

If Err 429 Then

MsgBox Str $(Err) &Error $

Set objWord = Nothing

' 不能创建Word 对象则退出

Exit Sub

Else

Resume Next

End If

End Sub

6. 用VC 编制DLL 模块完成打印。在VB 中调用该模块,用混合编程方法进行打印输出。因涉及VC 编程比较烦琐,这里不再讨论。

VB软件哪个版本好

建议vb6企业版(不要弄精简版),因为vb点虐 和vb6是两个完全不一样的编程方法,一个是基于。netframeworks的面向对象编程,一个是基于对象的编程完全不一样的


名称栏目:关于w2vb188net的信息
文章转载:http://cdxtjz.cn/article/ddgedge.html

其他资讯