
正文
vb.net不规则界面 vb窗体显示不全
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net制作皮肤
你找的那个文章也是用其它什么库或者控件做的,或者至少程序里面有其它的专门的皮肤产生模块之类的东西,光凭它那些代码根本不能在VB中实现自定义皮肤。 他的那些代码只是指定了皮肤是什么样而已,具体如何把那些指定应用到窗体上他的代码中根本没有提到。
VB自己做一个不规则形状的皮肤(比如圆角的边框)一般要用到SetWindowRgn这个API。透明度则一般使用SetLayeredWindowAttributes这个API,你可以去查一下。
很久以前搞过,现在懒得搞了,简洁才是王道。
相关问答
Q1: 如何使用VB.net或VB制作如下的界面
写程序不就行了,左边触发单击事件,然后执行相应的程序块之右边的内容变动就行了。
Q2: .net里怎样画一些不规则的表?
private void Form1_Click(object sender, EventArgs e)
{
Graphics G=this.CreateGraphics();
G.FillRectangle(new SolidBrush(Color.Red), 20, 10, 5, 200);
}
Q3: vb.net 磁盘文件列表,界面如图,在.net下如何实现?
预先准备三个图标文件,用于树型控件中显示磁盘符号和文件夹vb.net不规则界面的图像之用。
1、窗体上添加控件如下vb.net不规则界面:
组合框控件 ComboBox1,树型控件 TreeView1,列表框控件 ListBox1,图像列表控件 ImageList1。
选中TreeView1,设置其ImageList属性为ImageList1。
2、设置属性
选中图像列表控件 ImageList1,在属性窗口里,选中属性Images,单击三个小点按钮,出现图像集合编辑器窗口,单击[添加按钮],一一把准备好的图标文件进行添加,注意先后次序,如果不符合要求可以通过上下移动按钮重新改变次序。完成后单击[确定]。
运行图如下:
完整代码如下:
Imports System.IO
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'添加系统所有磁盘目录符号
For Each MyDrive As String In Environment.GetLogicalDrives()
ComboBox1.Items.Add(MyDrive)
Next
'显示第一个磁盘符号
ComboBox1.Text = ComboBox1.Items(0)
End Sub
'递归过程添加目录树
Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)
Dim i As Integer
Dim Mynode As New TreeNode
'先添加本目录
Mynode.Text = Strings.Replace(strPath, strFatherPath "\", "", , 1)
'为节点指定未被选中时显示的图标
Mynode.ImageIndex = 1
'为节点指定被选中时显示的图标
Mynode.SelectedImageIndex = 2
nodeFather.Nodes.Add(Mynode)
Application.DoEvents()
Try
Dim str() As String = Directory.GetDirectories(strPath)
'递归遍历该目录的子文件夹
For i = 0 To str.GetUpperBound(0)
AddDirectory(strPath, str(i), Mynode)
Next
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
Mynode = Nothing
End Sub
'根据给出的盘符添加目录树
Private Sub AddRootDirectory(ByVal DiscSymbol As String)
Dim Nynode As New TreeNode
'先把磁盘盘符添加到树中
TreeView1.Nodes.Clear()
Nynode.ImageIndex = 0
Nynode.Text = DiscSymbol
Nynode.SelectedImageIndex = -1
TreeView1.Nodes.Add(Nynode)
Dim i As Integer
'获取磁盘根目录下的文件夹
Dim str() As String = Directory.GetDirectories(DiscSymbol "\")
For i = 0 To str.GetUpperBound(0)
'调用递归过程遍历该文件夹里的所有子文件夹,并添加到树型控件
AddDirectory(DiscSymbol, str(i), Nynode)
Next
Nynode = Nothing
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
'根据磁盘符号的变更,显示根目录里的文件
ListBox1.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(ComboBox1.Text)
ListBox1.Items.Add(MyFile)
Next
'根据磁盘符号的变更,重新显示目录树
Dim DiscSymbol As String
DiscSymbol = Microsoft.VisualBasic.Left(ComboBox1.Text, Len(ComboBox1.Text) - 1)
Call AddRootDirectory(DiscSymbol)
End Sub
'递归过程根据子目录寻找上级目录名--从而构成完整的目录路径
Private Sub AllPath(ByVal ThisNode As TreeNode, ByRef MyPathName As String)
If ThisNode.Level 1 Then
'该节点层数大于1,其父节点不是磁盘根目录
MyPathName = ThisNode.Parent.Text "\" MyPathName
Dim MyNode As TreeNode = ThisNode.Parent
Call AllPath(MyNode, MyPathName)
Else
'该节点层数等于1,其父节点就是磁盘根目录
MyPathName = ComboBox1.Text MyPathName
End If
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
'为vb.net不规则界面了搜索选中的节点对应目录的文件,需要组成全路径
Dim MyAllPathName As String = TreeView1.SelectedNode.Text
Dim MyNode As TreeNode = TreeView1.SelectedNode
If TreeView1.SelectedNode.Level = 0 Then
'如果选中的是根节点
MyAllPathName = ComboBox1.Text
Else
'如果选中的是非根节点,调用递归过程组成全路径
Call AllPath(MyNode, MyAllPathName)
MyAllPathName = MyAllPathName "\"
End If
'根据路径,搜索文件名并显示
ListBox1.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(MyAllPathName)
ListBox1.Items.Add(MyFile)
Next
End Sub
End Class
Q4: vb界面能美化吗?感觉新出来的vb.net的界面明显比vb美观,但是vb.net语法还不熟,现在想把vb变得好看一些。
不难的,vb.net的语言比vb的完整些而已。而且一样可以利用英文的理解方法理解vb.net的代码,相对来说,vb.net更容易。语法来看,vb多数是用缩写的,而vb.net是用完整的单词,更便于理解,而且API也简化了很多。
所以,vb转vb.net是很容易上手的。
Q5: VB.NET 2005 如何做部分窗体透明
简单的部分透明比较难做vb.net不规则界面,不过可以换个方式考虑一下。
把本问题转换成在VB.NET 2005环境下创建不规则窗体(=普通窗体 - 透明部分)问题,解决方法就很多vb.net不规则界面了,网上也有许多例子。如 章立民 的书里就详细讲过。
大致思路如下:
1。将backgroundimage设成一个位图(点阵图)
2.将Transparaencykey设成位图的背景颜色(位图最取背景单纯,单纯部分将成为透明部分)
3.如需要可以将formborderstyle设为none,会移除标题栏,并需要手动编写窗体移动、关闭等动作代码,
vb.net不规则界面的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb窗体显示不全、vb.net不规则界面的信息别忘了在本站进行查找喔。







