2011-09-27 40 views
1

我開發一個應用程序來觀看文件夾,顯示通知users.This功能文件的變化是OK.But我有一個難以插入notification.As鏈接(文件目錄)這個環節是需要打開監視的文件夾。如何在使用C#的通知中插入鏈接?

任何人都可以建議如何實現這一點的?

代碼:

watcher.Changed += new FileSystemEventHandler(OnChanged); 
watcher.Created += new FileSystemEventHandler(OnChanged); 
watcher.Deleted += new FileSystemEventHandler(OnChanged); 
watcher.Renamed += new RenamedEventHandler(OnRenamed); 

private void OnChanged(object source, FileSystemEventArgs e) 
{ 
    this.notifyIcon1.ShowBalloonTip(1, "File " + e.ChangeType, e.FullPath, ToolTipIcon.Info);    
} 
private void OnRenamed(object source, RenamedEventArgs e) 
{ 
    this.notifyIcon1.ShowBalloonTip(1, "File Renamed", e.OldFullPath + " renamed to " + e.FullPath, ToolTipIcon.Info); 
} 

我想顯示的[e.FullPath]文件目錄中通知鏈路(除e.Name)。 例如。 e.FullPath - > C:\ TEMP \ test.txt,e.Name - > test.txt 我想顯示[C:\ TEMP]作爲鏈接。

感謝所有suggesting.That困難的是確定now.If單擊通知,打開監視的文件夾。

我的代碼:

this.notifyIcon1.BalloonTipClicked += new System.EventHandler(this.linkLabel_LinkClick); 

private void linkLabel_LinkClick(object sender, EventArgs e) 
{ 
    System.Diagnostics.Process.Start(C:\TEMP\test.txt);    
} 
+2

你可以發佈你到目前爲止執行什麼。 –

+0

@eiphyo這是winforms嗎? – TMB

+0

請說明「在通知中插入鏈接(文件目錄)」是什麼意思? –

回答

0

假設你想讓用戶點擊打開資源管理器的路徑通知的鏈接,下面是做到這一點的方法之一。

  1. 添加的LinkLabel的通知窗口。
  2. 在後面的代碼中創建一個LinkLabel.Link對象,用於存儲所需的路徑。
  3. 爲LinkLabel的LinkClicked事件設置處理程序,並打開Explorer以打開鏈接中的路徑。
// step 2 -- implement where you have access to the desired path 
linkLabel1.Links.Add(new LinkLabel.Link(0, 0, "C:\\")); 

// step 3 -- open the path in Explorer 
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
{ 
    System.Diagnostics.Process.Start(e.Link.LinkData.ToString()); 
} 
0

如果使用MessageBox的通知,那麼你需要實現自己的形式,把你需要什麼就可以了,像LinkLabel作爲傑克建議。

且需要的位置可以通過將下面的代碼LinkClicked事件處理程序打開(假設你的鏈接的文本是要打開的位置):

System.Diagnostics.Process.Start(linkLabel1.Text);