资源大全 | 神秘文化 | 在线翻译 | QQ专区 | 视频教程 | 彩信频道 | 搜索引擎 | BT下载 |  | 网站地图
设为首页
加入收藏
联系站长
您现在的位置: 一百网络 >> 其他编程 >> VB编程 >> 文档正文
最近更新
普通文档 No UpdatePanel found f
普通文档 VB 2005 - 读者询问 Dra
普通文档 在 Visual Basic .NET 中
普通文档 在 Visual Basic .NET 中
普通文档 在 Visual Basic .NET 中
普通文档 定时提醒你休息的脚本
普通文档 用VB备份和恢复SQL Serv
普通文档 利用Visual Basic开发SA
普通文档 用DirectShow实现QQ的音
普通文档 Visual Basic数据库操作
推荐文章
  • 此栏目下没有推荐文档
  • VB 2005 - 读者询问 DrawString 问题—如何根据用户自己选择的颜色来绘制

    文章作者:佚名 录入时间:2006-10-31 来源:不详
    网站声明:本站的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出处和原始作者,文章版权归本网站与文章作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。


    读者问题: 

     

    老师:

    您好!

    看了您的Visual Basic 2005程序开发与界面设计秘诀」收获很大,感谢先!但是有关 DrawString 绘制字符串的方法好像没有提到,在此特向章老师请教。在这个方法中的第三个参数是笔刷的颜色,我想在开发的时候根据使用者自己选择的颜色来绘制(颜色是存在数据库中的字符串,例如: “red”)如何根据用户自己选择的颜色来绘制,烦请老师告知!谢谢! 

     

    回答: 

     

    首先,要感谢您对章立民研究室的支持。

     

    其实最简单的方式,是使用一个 ColorDialog 对话框来让用户选择颜色,如此一来,可以避免将字符串转换成色彩的难题。我们写了一个程序,请参考有无帮助。

     

    如上图所示,我们在接口上提供一个选择颜色的按钮,按下此按钮,便会建立一个ColorDialog对象以便让使用者在色彩对话框中选择颜色。我们会将用户选择的颜色指派给「选择颜色」按钮的前景色,然后根据「选择颜色」按钮的前景色来建立笔刷,并进行后续的绘制字符串作业。兹将程序代码完整列示如下:

     

    Option Strict On
    Imports System.Drawing.Drawing2D

    Public Class Form1
      Private Sub btnSelectColor_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles btnSelectColor.Click

        Dim MyDialog As New ColorDialog()

        MyDialog.AllowFullOpen = False
        MyDialog.ShowHelp = True

        If (MyDialog.ShowDialog() = Windows.Forms.DialogResult.OK) Then
            ' 将「选择颜色」按钮的前景色设定成使用者所选取的颜色。
            Me.btnSelectColor.ForeColor = MyDialog.Color
        End If
      End Sub

      Private Sub btnBrushText_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles btnBrushText.Click

        Dim textSize As SizeF
        Dim g As Graphics
        Dim myBrush As Brush
        Dim myFont As New Font("Times New Roman", 50, FontStyle.Regular)

        ' 根据 PictureBox 控件建立一个 Graphics 对象并清除其内容。
        g = PictureBox1.CreateGraphics()
        g.Clear(Color.White)

        ' 取得用来绘制文字的所需大小。
        textSize = g.MeasureString(TextBox1.Text, myFont)

        ' 建立一个使用者所选取之颜色的笔刷。我们之前已经将使用者
        ' 所选取的颜色指派给按钮的前景色。
        myBrush = New SolidBrush(Me.btnSelectColor.ForeColor)

        ' 绘制文字。
        g.DrawString(TextBox1.Text, myFont, myBrush, _
                (PictureBox1.Width - textSize.Width) / 2, _
                (PictureBox1.Height - textSize.Height) / 2)
      End Sub
    End Class

     

     

    章立民研究室敬上

  • 上一篇文档:

  • 下一篇文档:
  •     查找更多“[图文]VB 2005 - 读者询问 DrawString 问题—如何根据用户自己选择的颜色来绘制”的内容  
    相关连接
    没有相关文档