Showing posts from December, 2016

Display Tooltip for Combo Box item C#.NET Winforms

In windows form combo box control sometimes while adidng items dynamically we have items whose width is greater than width of combox box control. In this case for making UI more user friendly we can show tooltip over such item. Here is the sample C# code to display such tooltip:

 Add a Tooltip control on the form. Add following code :
this.combo_box1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.combo_box1.DrawMode = DrawMode.OwnerDrawFixed; this.combo_box1.DrawItem += new DrawItemEventHandler(combo_box1_DrawItem); this.combo_box1.DropDownClosed += new EventHandler(combo_box1_DropDownClosed); this.combo_box1.MouseLeave += new EventHandler(combo_box1_Leave); void combo_box1_DrawItem(object sender, DrawItemEventArgs e) { if (e.Index <0) { return; } string text = combo_box1.GetItemText(combo_box1.Items[e.Index]); e.DrawBackground(); using (SolidBr…

Adding user control and defining it's functionality in C#.Net

Advantages of using a User control:User controls provide an easy way to combine several controls into a single unit of functionality that can be dragged onto multiple webpages in the same site.User controls in ASP.NET are created as ASCX files. An ASCX file is similar to the webpage’s ASPX file and can have its own code-behind page.It helps you define a consistent user interface.  You can add user control to your website and define it's events by following the below steps: Creating the website and the user control: Open Visual studio and create a website.Right click the solution explorer and add New item dialog box and select Web User control.This adds a file with the .ascx extension to your application. The user control has both a Design view and a Source view, similar to that of an ASPX page.You can add controls on to the user control in a similar manner as you do for any web page (You can add text boxes, buttons etc).You may now need to define user control events. For example: Yo…

Adding a new item to context menu of Windows Explorer in C#.Net

Requirement: Whenever user right clicks on any folder in windows explorer, display a new option and if user selects that option, launch your application. The below steps will add a new option on right click of any folder:

You would need to add 2 sub keys in registry at the below location:


Key 1: Folder\\shell\\MyProduct

Set the value of above key and the same will be shown in the context menu. You can also add a icon to the context menu item by adding a value to the key 1 and name it "Icon" as shown below:

Icon  "Path to your icon file"

Key 2: Folder\\shell\\MyProduct\\command

Set the value of above key and it will launch the application:

Eg. C:\Program Files (x86)\myProduct.exe "%1"

Here "%1" will give the path of the folder which is right clicked.

Programmatically this can be done as below:

privatestaticvoid updateRegistryToAddContextMenu()         { string MenuName = "Folder\\shell\\MyProduct"; string Comman…

Exporting datagrid to CSV using Save Dialog in C#.NET

Below is the code for exporting the data of a data grid in C#.Net

Datagrid is as follows:

System.Windows.Forms.SaveFileDialog saveDlg = new System.Windows.Forms.SaveFileDialog(); saveDlg.InitialDirectory = @"C:\"; saveDlg.Filter = "CSV files (*.csv)|*.csv"; saveDlg.FilterIndex = 0; saveDlg.RestoreDirectory = true; saveDlg.Title = "Export csv File To"; if (saveDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string CsvFpath = saveDlg.FileName; System.IO.StreamWriter csvFileWriter = new StreamWriter(CsvFpath, false); string columnHeaderText = ""; int countColumn = comparisonGrid.Columns.Count - 1; if (countColumn >= 0) { columnHeaderText = (comparisonGrid.Columns[0].Header).ToString()…