none
[VB.net] 如何给程序的 Jumplist 中的程序添加图标以及在Jumplist 中添加分隔符? RRS feed

  • 问题

  • 自己做了一个程序,然后创建Jumpllst列表,可是无法给列表中的程序添加图标。而且也不知道怎么添加分隔符。找了很多都是C#的,不会用···等高人帮忙!

    用Openfiledialog 打开文件到 Datagridview 中,然后做Jumplist ,比如要创建的列表如下:

    Datagridview中的数据

    名称                         路径

    Group0                    分组

    VS2008                   C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe

    ----                        分隔符

    迅雷5                      D:\Program Files\Thunder Network\Thunder\Program\Thunder.exe

    Group1                  分组

    有道                        D:\Program Files\Youdao\DeskDict2\YodaoDict.exe

     下面是生成Jumplist 的代码:

     
            Dim Jum_1 As JumpList = JumpList.CreateJumpList()
            Dim jumpath As String
            Dim jumpname As String
            Dim newgp As String
            Jum_1.KnownCategoryToDisplay = JumpListKnownCategoryType.Recent
            Dim linum As Integer = 0
            Dim n As Integer = 1

            For n = 1 To gnum Step 1
                newgp = DGView1.Rows(n + linum - 1).Cells(0).Value
                Dim Newgroup As New JumpListCustomCategory(newgp)           '创建新分组
                linum = n + linum
                While DGView1.Rows(linum).Cells(0).Value <> "分组"          '创建分组项
                    If DGView1.Rows(linum).Cells(0).Value = "----" Then     '创建分隔符
                        Jum_1.AddUserTasks(New JumpListSeparator())
                        linum = linum + 1
                    End If
                    jumpath = DGView1.Rows(linum).Cells(1).Value
                    jumpname = DGView1.Rows(linum).Cells(0).Value
                    Newgroup.AddJumpListItems(New JumpListLink(jumpath, jumpname))     '这里不会加图标
                    linum = linum + 1
                    If linum = nicon Then Exit While
                End While
                linum = linum - n
                Jum_1.AddCustomCategories(Newgroup)
            Next n
            Jum_1.Refresh()
            MsgBox("创建成功!", 0, "MdesList")   '创建成功提示

    如果不加分隔符,,不加图标,程序就算完成了...

    • 已编辑 M.des 2010年4月15日 3:34
    2010年4月14日 13:41

全部回复

  • 你好!

    你可以通过下面的地址将 C# 代码转为 VB.Net 。

    http://www.developerfusion.com/tools/convert/csharp-to-vb/

    如果还有问题,请把你的代码发出来,大家帮你看看。


    知识改变命运,奋斗成就人生!
    2010年4月15日 1:49
    版主
  • 如果使用Windows API Code Pack,可以通过如下语句添加分隔符:

     

    Dim task1 As IJumpListTask = new JumpListLink(filePath, taskTitle)
    task1.Arguments = argument
    task1.WorkingDirectory = workingDirectory
    
    Dim separator As IJumpListTask = new JumpListSeparator() '分隔符
    
    Dim task2 As New IJumpListTask = ... (略)
    
    _jumpList.AddUserTasks(task1, separator, task2)
    _jumpList.Refresh()

     

     


    共同努力,共同提高
    kaedei#live.cn My BLOG
    2010年4月15日 2:10
  • 是不是在自定义分组里不能添加分隔符?
    2010年4月15日 3:59