这儿有一个简单的例子
http://developer.ccidnet.com/pub/disp/Article?columnID=340&articleID=10200&pageNO=1

解决方案 »

  1.   

    1、程序的主窗口WindowSate设置为minimized;
    2、添加一个NotifyIcon组件设置其Icon为你要显示的图标,ContextMenu为右键显示的菜单;
    3、实现ContextMenu的功能
    4、最小化时设置主窗口的showintaskbar为false;
    完成。
      

  2.   

    this.contextMenu1.Popup += new EventHandler(ContextMenuPopup);
    private void CreateContextMenu()
    {
    this.contextMenu1.MenuItems.Clear(); // First element is the category name
    MenuItem menuItem = new MenuItem(counterData.CategoryName, new EventHandler(CategoryClick));
    PerformanceCounterCategory[] categories = PerformanceCounterCategory.GetCategories(); ArrayList items = new ArrayList();
    PerformanceCounterCategory currentCategory = null;
    foreach (PerformanceCounterCategory category in categories)
    {
    MenuItemCategory subItem = new MenuItemCategory(category, counterData.InstanceName, new EventHandler(CategoryClick));
    if (category.CategoryName == counterData.CategoryName)
    {
    subItem.Checked = true;
    currentCategory = category;
    }
    items.Add(subItem);
    }
    items.Sort(); foreach (MenuItemCategory item in items)
    {
    menuItem.MenuItems.Add(item);
    }
    contextMenu1.MenuItems.Add(menuItem); // Next, show the counters for that category
    menuItem = new MenuItem(counterData.CounterName); MenuItem instanceItem = new MenuItem(counterData.InstanceName);
    items.Clear(); if (currentCategory != null)
    {
    try
    {
    PerformanceCounter[] counters = currentCategory.GetCounters(counterData.InstanceName); foreach (PerformanceCounter counter in counters)
    {
    MenuItem subItem = new MenuItem(counter.CounterName, new EventHandler(CounterClick));
    menuItem.MenuItems.Add(subItem);
    }
    }
    catch (InvalidOperationException)
    { } string[] instanceNames = currentCategory.GetInstanceNames(); foreach (string name in instanceNames)
    {
    MenuItem subItem = new MenuItem(name, new EventHandler(InstanceClick));
    instanceItem.MenuItems.Add(subItem);
    }
    }
    contextMenu1.MenuItems.Add(menuItem);
    contextMenu1.MenuItems.Add(instanceItem);
    contextMenu1.MenuItems.Add(new MenuItem("Exit", new EventHandler(ExitClick)));
    } private void ContextMenuPopup(object sender, EventArgs args)
    {
    CreateContextMenu(); }
      

  3.   

    你看这个例子就可以啦;
    http://developer.ccidnet.com/pub/disp/Article?columnID=340&articleID=10200&pageNO=1以VC#下作托盘程序很容易的。
    如果不可能隐藏form的话(如onload中调用this.Hide()),你就以用一个timer来触发调用this.Hide()就可以只显示托盘啦。
      

  4.   

    基本同意楼上的,其实设计时将form的visible属性设置成false就可以了,在托盘的菜单中充分使用this.hide() this.show()就可以了
      

  5.   

    哪要这么复杂,在程序中加如一个托盘控件,设置好图标,将主窗口的visible属性设置为flase.
      

  6.   

    加一个NotifyIcon,将Form的Visible属性设为false。添加一个ContextMenu,在NotifyIcon的属性ContextMenu中选择要使用的菜单就行了
      

  7.   

    yqdeng(享受生活每一天) , BruceJiang(BruceJiang
      

  8.   

    yqdeng(享受生活每一天) , BruceJiang(BruceJiang
    你们实际做过吗?将Form的Visible属性设为false并不就能一开始就隐藏的(主窗体)。