How can I ensure that a node is selected when the user clicks along the line of a node?
A click event will be fired but a node will not be selected when the user clicks to the right of a node. This code snippets show how you can ensure that a node is selected in this scenario: [C#] private void treeView1_Click(object sender, System.EventArgs e) { treeView1.SelectedNode = treeView1.GetNodeAt(treeView1.PointToClient(Cursor.Position)); } [VB.NET] Private Sub treeView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) treeView1.SelectedNode = treeView1.GetNodeAt(treeView1.PointToClient(Cursor.Position)) End Sub
How can I create a thumbnail of a bitmap?
You can use the GetThumbnailImage method to generate and display a thumbnail of a bitmap as shown below: [C#] public bool ThumbnailCallback() { return false; } //Generate a thumbnail of the bitmap and display it in a PictureBox Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback); Bitmap myBitmap = new Bitmap(‘C:\\images\\MyBitMap.bmp’); this.pictureBox1.Image = (Bitmap) myBitmap.GetThumbnailImage(150,75,myCallback, IntPtr.Zero);
Are there any easy to use build tools for .NET applications?
Check out NAnt, a free build tool that can be used to automate builds for .NET applications.
How can I drag and drop TabPages between TabControls?
The following code snippet shows how you can drag a TabPage from TabControl1 and drop it into TabControl2 (whose AllowDrop property must be set to True): [C#] Source TabControl private void tabControl1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.tabControl1.DoDragDrop(this.tabControl1.SelectedTab,DragDropEffects.All); } } //Target TabControl private void tabControl2_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) { if(e.Data.GetDataPresent(typeof(TabPage))) { e.Effect = DragDropEffects.Move; } else e.Effect = DragDropEffects.None; } private void tabControl2_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { TabPage DropTab = (TabPage)(e.Data.GetData (typeof(TabPage))); this.tabControl2.TabPages.Add (DropTab); } [VB.NET] ’Source TabControl Private Sub tabControl1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) If e.Button = MouseButtons.Left Then Me.tabControl1.DoDragDrop(Me.tabControl1.SelectedTab,DragDropEffects.All) End If End Sub ’Target TabControl Private Sub tabControl2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) If e.Data.GetDataPresent(Type.GetType(TabPage)) Then e.Effect = DragDropEffects.Move Else e.Effect = DragDropEffects.None End If End Sub Private Sub tabControl2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Dim DropTab As TabPage = CType((e.Data.GetData(Type.GetType(TabPage))), TabPage) Me.tabControl2.TabPages.Add (DropTab) End Sub
How can I add a hyperlink to a RichTextBox control?
To add a hyperlink to the RichTextBox, so that it opens up the link you click on, ensure that DetectUrls property is set to True and call: [C#] private void richTextBox1_LinkClicked(object sender, System.Windows.Forms.LinkClickedEventArgs e) { System.Diagnostics.Process.Start(e.LinkText); } [VB.NET] Private Sub richTextBox1_LinkClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.LinkClickedEventArgs) System.Diagnostics.Process.Start(e.LinkText) End Sub