Winform – Override textbox to show sample text and clear on click

Winform watermark text on textbox:


public string initTextClient = “Client”;
public bool editedClient;

public SelectMatterClient()

txtClient.Text = initTextClient;
txtClient.ForeColor = Color.Gray;



private void txtClient_KeyPress(object sender, KeyPressEventArgs e)
editedClient = !char.IsControl(e.KeyChar);

private void txtClient_Enter(object sender, EventArgs e)
if (!editedClient)
txtClient.ForeColor = Color.Black;

private void txtClient_Leave(object sender, EventArgs e)
if (!editedClient)
txtClient.Text = initTextClient;
txtClient.ForeColor = Color.Gray;


deploy web service to IIS

Build your VS solution and copy the published files to a specific folder.

and add a new website in IIS and set the destination to that folder

Change connect as your authentication details to that folder and test settings.

Change the App pool to 4

You are good to go 🙂


By simplemsexchange Posted in ASP.NET

Deploy angular Cli app to IIS

If not installed, install urlrewrite for IIS from here:

You may need to reboot your computer.

step 1: Build angular application

Option 1: If you want to deploy the application in root folder,

ng build –prod

double infront of prod

Option 2: If you want to deploy the application inside a folder:

ng build –prod –base-href /FOLDERNAME/

double infront of prod and base-href

Either option will create a dist folder inside your angular application


Step 2: Create a folder(FOLDERNAME) in your c drive (or anywhere) and copy all content from dist folder to this newly created folder FOLDERNAME.

step 3: Setup new application in IISMANAGER


Angular Cli base href

To change base href from root folder to a subfolder:


  1. In root level index.html change
    <base href=”/MFGlist/”>
  2. Run the project using this command:

ng serve -o –base-href /MFGlist/

Create Simple Windows Service And Setup Project With Installation

Create Simple Window Service

Open Visual Studio 10 then go to File > New > Project. That will open a dialog box for a new project then select “Window Service” and click on the OK button.

After creating the project you can see the service design page as in the following and click on the link “click here to switch to code view”.

The Solution Explorer will then look like this:

The WinService class should contain the two functions OnStart() and OnStop() and contain the following code:

  1. public partial class WinService : ServiceBase
  2. {
  3.    public WinService()
  4.    {
  5.       InitializeComponent();
  6.    }
  7.    protected override void OnStart(string[] args)
  8.    {
  9.       //
  10.    }
  11.    protected override void OnStop()
  12.    {
  13.       //
  14.    }
  15. }

Go to Solution Explorer and right-click on WinService.cs then go to the view designer then look at the design view then right-click on the design page and click on “add installer” and it will look like this:

After adding the ProjectInstaller.cs you have 2 components in the design view of the ProjectInstaller.cs (serviceProcessInstaller1 and serviceInstaller1). You should then set up the properties as you need.

Click on serviceinstaller1 and go to the properties in the right pane and edit the service name Service1 to WinService as in the following:

Click on serviceProcessInstaller1 and go to the properties in the right pane and select Account and choose LocalService from the dropdown and save. See the following:

You have two assemblies under References as in the following highlighted (1) System.Configuration.Install and (2) System.ServiceProcess.

Create Setup Project

Build your service project, you need to set up the project to install the build/compiled project and run the installers to run the Windows service. Create a new project as a “Setup Project” and you need to add project output.

Create Setup Project for Window Service

Go to the Solution Explorer and right-click on the solution, go to Add > New Project.

Open a dialog box, go to left pane under Installed Templates > Other Project Types > Setup and Deployment > Visual Studio Installer and go to the right pane and select the project as a “Setup Project” and click on the OK button.

(If Visual Studio Installer is not available in menu, for VS 2010, please download this extention) 

Custom actions add to setup project

Go to the solution, right-click on the setup project then select View > Custom action.

The “Custom action” editor appears.

Right-click on “Custom action > Add Custom action”.

Open a dialog box “Select Item In Project” then double-click on “Application Folder” then click on the “Add Output” button. Open a dialog box, choose your project (Window service) and “Primary Output” from (Active) and click on the OK button.

Build your setup project and install the Windows service.

Install And Start The Service

Go to the Solution Explorer then select Build for both projects (Windows Service and Setup Project) then right-click on the Setup Project and click on the Install option and follow the setup wizard procedure. Finally your service is ready for being started and stopped. If you want to start the Windows server then go to Start > Administrator tools > Service > Find Your Service then right-click on the Service Name then select Start. Otherwise go to Start > Computer (My Computer) > Manage > Click on Service And Application from the left pane > Services.

WPF C# Make ListBox items have a different value than item text


<ListBox x:Name=”lstboxCabinet” HorizontalAlignment=”Center” Height=”156″ Margin=”58,68,530,0″ VerticalAlignment=”Top” Width=”426″




In C#


Define Custom Class:

public class ListBoxValueText
public string Value { get; set; }
public string Text { get; set; }


Populate the Listbox:


DataTable dataTable = ******Your Database Table which contains data*****

List<ListBoxValueText> data = new List<ListBoxValueText>();
foreach (DataRow row in dataTable.Rows)
data.Add(new ListBoxValueText() { Value = row[“id”].ToString(), Text = row[“name”].ToString() });
lstboxCabinet.DataContext = data;


Callback Assigned selected value to a string:


string selectedCabinet = (lstboxCabinet.SelectedItem as ListBoxValueText).Value;