A Developer Journey who codes for fun

Daily Dose Of Code

  • Home
  • Dot.Net Basics
    • .Net Basics
      • CTS
      • CLS
      • CLR
      • Strong Vs Weak Ref
      • .Net Framework
      • What is Manifest
    • Memory Management
      • Garbage Collection 1
      • Garbage Collection 2
      • Circular Reference
  • C Sharp
    • Abstract Class in C#
    • Interfaces in C#
    • Value type by Val and By Ref
    • Var keyword
    • Null Coalescing Operator
    • Buit-in code snippets
  • OOPS
    • Abstraction and Encapsulation
    • Polymorphism
    • Inheritence
    • Aggregation
  • Threading
    • Delegates
      • Calling Delegate using Invoke, BeginInvoke
      • Multicast Delegate
      • Exception Handling in Multicast Delegate
      • Action
      • Predicate
      • Func
    • Synchronization
    • Thread Pool
    • Exception Handling
    • TPL
  • Design Pattern
    • Creational Patterns
      • Singleton Pattern
      • Factory Pattern
      • Abstract Factory Pattern
      • Prototype Pattern
      • Builder Pattern
    • Structural Patterns
      • Adapter Pattern
      • Bridge Pattern
      • Composite Pattern
      • Proxy Pattern
      • Facade Pattern
      • Decorator Pattern
      • Flyweight Pattern
    • Behavioral Patterns
      • Command Pattern
      • Interpreter Pattern
      • Iterator Pattern
      • Mediator Pattern
      • Memento Pattern
      • Observer Pattern
      • State Pattern
      • Strategy Pattern
      • Visitor Pattern
      • Chain Of Responsibility Pattern
      • Template Pattern
  • Data Structures
    • Generic List in C#
    • 2d array to 1d array
    • 3d arrayto 1d array
    • Linked List
      • Singly Linked List in C#
    • Queue
      • Dummy Data 1
    • Stack
      • Dummy Data 2
    • Tree
      • Dummy Data 3
    • Graph
      • Dummy Data 4
  • WCF
    • WCF Service using VS 2015
  • Scripts
    • Chrome Extensions
      • Create a Chrome Extension
      • Facebook autologout script
      • Gmail autologout script

How to make Regular Expressions

 Unknown     12:26 PM     Enjoy..coding     No comments   

If you want to learn how to make regular expressions then visit this link this will be helpful for you...

http://www.zytrax.com/tech/web/regex.htm
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Collection of Regular Expressions

 Unknown     11:35 AM     1 comment   

Regular expression to match email address

1 :- [\w-]+@([\w-]+\.)+[\w-]+
2 :- (?(?![ ])(\w|[.])*@(\w|[.])*)
3 :- ^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$
4 :- /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@
([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i

Regular Expression to validate US-Phone number.

Example :- (999) 999-9999 or (999)123-7869
1 :- /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/


Regular Expression which validate string which contains only valid numbers.


1 :- /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/


Regular Expression which validate string which contains only valid integer numbers.

1 :- /(^-?\d\d*$)/

Regular Expression to validate US-Zip Code
1:- /(^\d{5}$)|(^\d{5}-\d{4}$)/;

Regular Expression to check any social number :-
Replace 9 by any valid nuber you want to check

1 :-/^\d{9}$/

Expression to check amount example :- 100,100.00,$100,$100.00
1 :- /^((\$\d*)|(\$\d*\.\d{2})|(\d*)|(\d*\.\d{2}))$/

Regular Expression to check IP Address (0-255):-
/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/

Regular Expression to check Time :-

/^([1-9]|1[0-2]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/
Like :- HH:MM:SS, HH:MM, HH:MM:SS.mmm
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

How to make Recycle - Bin in .net using C#

 Unknown     11:08 AM     No comments   

Visit this article and make your recycle bin

http://www.codeproject.com/KB/shell/recyclebin.aspx
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Detect the Encoding Type of given file

 Unknown     10:43 AM     No comments   

Encoding type : To add new Encoding we have to add new member in here,with the CodePage value as an value of the new encoding and have to modify FileHandler.DetectEncoding function.

public enum EncodingType
{
WindowsANSI = 1252,
Unicode = 1200,
UnixANSI = 28591
}

You can pass the path of the file and this method returns the encoding format
of type which has been defined in enum EncodingType.You just modify the enum with your encoding and code page value and get the encoding format of any file.

private Encoding DetectEncoding(string fileName)
{
byte[] data = new byte[4];
Encoding encoding = null;
StreamReader streamReader = new StreamReader(fileName);
streamReader.BaseStream.Read(data, 0, data.Length);

ApplicationNativeMethods.IsTextUnicodeFlags isTextUnicodeFlags = ApplicationNativeMethods.IsTextUnicodeFlags.UnicodeMask;
bool isTextUnicode = ApplicationNativeMethods.IsTextUnicode(data, 4, ref isTextUnicodeFlags);

if ((data[0] == 0xFF && data[1] == 0xFE) || (isTextUnicode == true))
{
encoding = Encoding.GetEncoding((int)EncodingType.Unicode);
}
else
{
streamReader.BaseStream.Position = 0;

char cr = char.MinValue;
char lf = char.MinValue;
char peekLf = char.MinValue;

while ((streamReader.EndOfStream != true))
{
peekLf = (char)streamReader.Peek();
if (peekLf == Constants.SYMBOL_LINEFEED)
{
cr = lf;
lf = (char)streamReader.Read();
break;
}
lf = (char)streamReader.Read();
}

if (cr != Constants.SYMBOL_CARRIAGERETURN)
{
encoding = Encoding.GetEncoding((int)EncodingType.UnixANSI);
}
else
{
encoding = Encoding.GetEncoding((int)EncodingType.WindowsANSI);
}
}
streamReader.Close();
return encoding;
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Sorted List Implementation

 Unknown     10:35 AM     No comments   

In C# You can implement Sortedlist and sort the values according to the key.

using System;
using System.Collections;

Code:

static void Main(string[] args)
{
values in sorted list are sorted according to key

SortedList myList = new SortedList();

myList.Add(12, "December");
myList.Add(9, "September");
myList.Add(10, "October");
myList.Add(4, "April");
myList.Add(5, "May");
myList.Add(6, "June");
myList.Add(2, "February");
myList.Add(8, "August");
myList.Add(7, "July");
myList.Add(3, "March");
myList.Add(11, "November");
myList.Add(1, "January");

output values that are sorted according to key


foreach (DictionaryEntry item in myList)
{
Console.WriteLine(item.Value);
}
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Hash Table Implementation

 Unknown     10:28 AM     No comments   

using System;
using System.Collections;

Code:

static void Main(string[] args)
{
Create an object of hash table
Hashtable myHash = new Hashtable();

Add key-pair values

myHash.Add("Saurabh", 1);
myHash.Add("Sandy", 2);
myHash.Add("Vivek", 3);

Move through hashtable data in cycle

foreach (DictionaryEntry item in myHash)
{
Console.WriteLine(item.Key);
Console.WriteLine(item.Value);
}

Get first item
Console.WriteLine("Get first item: " + myHash["Saurabh"]);

This will not work, name of item is not identical
Console.WriteLine("Get second item: " + myHash["Sandy"]);

}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Get System Boot Configuration using C#

 Unknown     10:22 AM     No comments   

using System;
using System.Management;

Code:

static void Main(string[] args)
{
WqlObjectQuery query = new WqlObjectQuery("SELECT * FROM Win32_BootConfiguration");

ManagementObjectSearcher find = new ManagementObjectSearcher(query);

foreach (ManagementObject mo in find.Get())
{

Console.WriteLine("Boot directory with files required for booting.." + mo["BootDirectory"]);

Console.WriteLine("Description.." + mo["Description"]);

Console.WriteLine("Directory with temporary files for booting.." + mo["ScratchDirectory"]);

Console.WriteLine("Directory with temporary files.." + mo["TempDirectory"]);

}

}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Get Environment variables..

 Unknown     10:17 AM     No comments   

Namespaces:

using System;
using System.Management;

Code:


static void Main(string[] args)
{
WqlObjectQuery query = new WqlObjectQuery("Select * from Win32_Environment");

ManagementObjectSearcher find = new ManagementObjectSearcher(query);

Console.WriteLine("Description - Name - User Name - Value");

foreach (ManagementObject mo in find.Get())
{

Console.WriteLine(mo["Description"] + " - " + mo["Name"] + " - " + mo["UserName"] + " - " + mo["VariableValue"]);
}
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Obtain IP address and host

 Unknown     6:40 AM     No comments   

Namespaces:

using System;
using System.Net;

Code:

static void Main(string[] args)
{
Get Host Name
string host = Dns.GetHostName();

Console.WriteLine("Hostname is: {0}", host);

GetIP Entry
IPHostEntry entry = Dns.GetHostByName(host);

foreach (IPAddress ip in entry.AddressList)
{
Console.WriteLine("IP address: " + ip.ToString());
}
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Send mail message to .net Environment (Enjoy Mail System)

 Unknown     6:36 AM     No comments   

Namespaces:

using System;
using System.Web.Mail;

Code:

static void Main(string[] args)
{
MailMessage mailMsg = new MailMessage();

mailMsg.From = "saurabhsingh_jnu06@yahoo.co.in";

mailMsg.To = "saurabhjnumca@gmail.com";

mailMsg.Cc = string.Empty;

mailMsg.Bcc = string.Empty;

mailMsg.Subject = "Here goes a subject";

mailMsg.Body = "Here goes email body";

mailMsg.Priority = (MailPriority)1;

mailMsg.Attachments.Add(new MailAttachment("d:\\myText.txt"));

SmtpMail.SmtpServer = "smarthost";

SmtpMail.Send(mailMsg);
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Network Operations in C# (Play with system)

 Unknown     6:23 AM     No comments   

Retrieve DNS computer name

public static void Main(string[] args)
{
Console.WriteLine(“DNS: {0}”, System.Net.Dns.GetHostByName“LocalHost”).HostName);
}

Retrieve NetBIOS computer name

public static void Main(string[] args)
{
Console.WriteLine(“NetBIOS: {0}”, System.Environment.MachineName);}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

To get the system Icons(handle of system imagelist)

 Unknown     6:12 AM     No comments   

[StructLayout(LayoutKind.Sequential)]
public struct SHFILEINFO
{
public IntPtr hIcon;
public IntPtr iIcon;
public uint dwAttributes;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
public string szTypeName;
};


class Win32
{
public const uint SHGFI_ICON = 0x100;
public const uint SHGFI_LARGEICON = 0x0; // 'Large icon
public const uint SHGFI_SMALLICON = 0x1; // 'Small icon

[DllImport("shell32.dll")]
public static extern IntPtr SHGetFileInfo(string pszPath,
uint dwFileAttributes,
ref SHFILEINFO psfi,
uint cbSizeFileInfo,
uint uFlags);
}

//the handle to the system image list
IntPtr hImgSmall;

//the handle to the system image list
//IntPtr hImgLarge;

//Create an object of
SHFILEINFO shinfo = new SHFILEINFO();

try
{
//Use this to get the small Icon
hImgSmall = Win32.SHGetFileInfo( Path of file, 0, ref shinfo,
(uint)Marshal.SizeOf(shinfo),
Win32.SHGFI_ICON |
Win32.SHGFI_SMALLICON
);
Icon myIcon =Icon.FromHandle(shinfo.hIcon);

//This return the index on=f system image list
int iconIndex = shinfo.iIcon;

//Add the icon to imagelist or where ever you want to use you can
imageList.Images.Add(myIcon);
}
catch (Exception)
{

}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

To close the application from task manager.

 Unknown     6:08 AM     No comments   

If you have closed your appplication but still it runs in task manager then you can use this method to kill the thread.It happens only when some thread of your application is not closed.

Code:-

public const int SC_CLOSE = 0xF060;
public const int WM_SYSCOMMAND = 0x0112;

//Override method when You will close the window
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)

//close the application
MyClose();
// your method that cleans everything up and then runs
// System.Environment.Exit(0) which WILL close the threads forcefully if needed


base.WndProc(ref m);
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Play with Date-Time-Formats in C#

 Unknown     5:52 AM     No comments   

Code:

public static void Main(string[] args)
{
//Get the cureent date time
DateTime datetTime= DateTime.Now;

Formatting DateTime to full pattern (dddd, MMMM dd, yyyy hh:mm:ss)
Console.WriteLine(dt.ToString("F"));

Formatting DateTime to short date- time pattern (dddd, MMMM dd, yyyy, hh:mm)
Console.WriteLine(dt.ToString("f"));

Formatting DateTime to short date numerical pattern (M/d/yyyy)
Console.WriteLine(dt.ToString("d"));

Formatting DateTime to full date numeric pattern (dddd, MMMM dd, yyyy)
Console.WriteLine(dt.ToString("D"));

To the short date&time numerical pattern (M/d/yyyy hh:mm)
Console.WriteLine(dt.ToString("g"));

To the full date&time numerical pattern (M/d/yyyy hh:mm:ss)
Console.WriteLine(dt.ToString("G"));

DateTime to the month name pattern (MMMM dd)
Console.WriteLine(dt.ToString("m"));

DateTime to the short date pattern (MMMM, yyyy)
Console.WriteLine(dt.ToString("y"));

DateTime to the long time pattern (hh:mm:ss)
Console.WriteLine(dt.ToString("T"));

DateTime to the short time pattern (hh:mm)
Console.WriteLine(dt.ToString("t"));

DateTime to the RFC1123 pattern (ddd, dd MMM yyyy HH':'mm':'ss 'GMT')
Console.WriteLine(dt.ToString("r"));

DateTime to sortable pattern This format is based on ISO 8601 and uses local time.
Console.WriteLine(dt.ToString("s"));

DateTime to full date&time using universal time
Console.WriteLine(dt.ToString("U"));

DateTime to universal sortable pattern (yyyy'-'MM'-'dd HH':'mm':'ss'Z')
Console.WriteLine(dt.ToString("u"));
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

How to get Memory Info

 Unknown     5:45 AM     No comments   

Namespaces:

using System;

using System.Management;

Code:

static void Main(string[] args)
{

WqlObjectQuery query = new WqlObjectQuery("SELECT * FROM Win32_PerfFormattedData_PerfOS_Memory");

ManagementObjectSearcher find = new ManagementObjectSearcher(query);

//Traverse each management object.
foreach (ManagementObject mo in find.Get())
{

Console.WriteLine("Available bytes: " + mo["AvailableBytes"]);

Console.WriteLine("Available KBs: " + mo["AvailableKBytes"]);

Console.WriteLine("Available MBs: " + mo["AvailableMBytes"]);

Console.WriteLine("Cache bytes: " + mo["CacheBytes"]);

Console.WriteLine("Cache bytes peak: " + mo["CacheBytesPeak"]);

Console.WriteLine("Cache bytes: " + mo["CacheBytes"]);

Console.WriteLine("Commit limit: " + mo["CommitLimit"]);

Console.WriteLine("Committed bytes: " + mo["CommittedBytes"]);

Console.WriteLine("Free system page table entries: " + mo["FreeSystemPageTableEntries"]);

Console.WriteLine("Pool paged bytes: " + mo["PoolPagedBytes"]);

Console.WriteLine("System code total bytes: " + mo["SystemCodeTotalBytes"]);

Console.WriteLine("System driver total bytes: " + mo["SystemDriverTotalBytes"]);

}

}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Open Control Panel Items using Shell (COM)

 Unknown     5:39 AM     No comments   

Namespaces:

using System;
// this is COM component that can be found under the name "Microsoft Shell Controls And Automation"
// this must be added to project references

using Shell32;

Code:

static void Main()
{
//Creating an object of shell to access all the control panel items.
Shell shell = new Shell();

// accessibility options
shell.ControlPanelItem("access.cpl");

// add-remove programs
shell.ControlPanelItem("appwiz.cpl");

// bluetooth configuration
shell.ControlPanelItem("btcpl.cpl");

// desktop settings
shell.ControlPanelItem("desk.cpl");

// directX properties
shell.ControlPanelItem("directx.cpl");

// add hardware wizard
shell.ControlPanelItem("hdwwiz.cpl");

// internet properties
shell.ControlPanelItem("inetcpl.cpl");

// regional and language options
shell.ControlPanelItem("intl.cpl");

// Wireless link
shell.ControlPanelItem("irprops.cpl");

// Game controllers
shell.ControlPanelItem("joy.cpl");

// Mouse properties
shell.ControlPanelItem("main.cpl");

// Sounds and audio devices properties
shell.ControlPanelItem("mmsys.cpl");

// Network connections
shell.ControlPanelItem("ncpa.cpl");

// User accounts
shell.ControlPanelItem("nusrmgr.cpl");

// ODBC datasource administrator

shell.ControlPanelItem("odbccp32.cpl");

// Power options properties
shell.ControlPanelItem("powercfg.cpl");

// System properties
shell.ControlPanelItem("sysdm.cpl");

// Location information - telephone properties
shell.ControlPanelItem("telephon.cpl");

// Date and time properties
shell.ControlPanelItem("timedate.cpl");

// Automatic updates - WindowsUpdate settings

shell.ControlPanelItem("wuaucpl.cpl");
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Get folder items using Windows folder dialog

 Unknown     5:30 AM     No comments   

Namespaces:

using System;

using Shell32;

Code:

static void Main()
{

Shell shell = new Shell();

// open dialog for desktop folder

// use appropriate constant for folder type ShellSpecialFolderConstants

Folder folder = shell.BrowseForFolder(0, "folderPath/FilePath",0 ,ShellSpecialFolderConstants.ssfDESKTOP); if (folder != null)
{
foreach (FolderItem fi in folder.Items())
{
Console.WriteLine(fi.Name);
}

}

}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Window Controls in ASP.Net

 Unknown     3:12 AM     No comments   

Controls:-----------
Most controls in .NET derive from the System.Windows.Forms.Control class. This class defines the basic functionality of the controls, which is why many properties and events in the controls we'll see are identical. Many of these classes are themselves base classes for other controls, as is the case with the Label and TextBoxBase classes:--


Some controls, named custom or user controls, derive from another class: System.Windows.Forms.UserControl. This class is itself derived from the Control class and provides the functionality we need to create controls ourselves. We'll cover this class in Chapter 14. Incidentally, controls used for designing Web user interfaces derive from yet another class, System.Web.UI.Control.

Properties

All controls have a number of properties that are used to manipulate the behavior of the control. The base class of most controls, Control, has a number of properties that other controls either inherit directly or override to provide some kind of custom behavior.

The table below shows some of the most common properties of the Control class. These properties will be present in most of the controls we'll visit in this chapter, and they will therefore, not be explained in detail again, unless the behavior of the properties is changed for the control in question. Note that this table is not meant to be exhaustive; if you want to see all f the properties in the class, please refer to the MSDN library:

Name Availability Description

Anchor Read/Write Using this property, you can specify how the control

behaves when its container is resized. See below for a detailed explanation of this property.

BackColor Read/Write The background color of a control.

Bottom Read/Write By setting this property, you specify the distance

from the top of the window to the bottom of the control. This is not the same as specifying the height of the control.

Dock Read/Write Allows you to make a control dock to the edges of a

window. See below for a more detailed explanation of this property.

Enabled Read/Write Setting Enabled to true usually means that the control

can receive input from the user. Setting Enabled to false usually means that it cannot.

ForeColor Read/Write The foreground color of the control.

Height Read/Write The distance from the top to the bottom of the control.

Left Read/Write The left edge of the control relative to the left

edge of the window.

Name Read/Write The name of the control. This name can be used to reference the control in code.

Parent Read/Write The parent of the control.

Right Read/Write The right edge of the control relative to the left

edge of the window.

TabIndex Read/Write The number the control has in the tab order of its container.

TabStop Read/Write Specifies whether the control can be accessed by the Tab key.

Tag Read/Write This value is usually not used by the control itself,

and is there for you to store information about the control on the control itself. When this property is assigned a value through the Windows Form designer, you can only assign a string to it.

Top Read/Write The top edge of the control relative to the top of the window.

Visible Read/Write Specifies whether or not the control is visible
at runtime.

Width Read/Write The width of the control.
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

An Example to create an UserControl to create a checklist box and how to set default check in ASP.Net Using C#

 Unknown     2:48 AM     No comments   

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace MatrixControl
{
public partial class M42CheckBoxControl : UserControl
{
private static int index = 0;

public M42CheckBoxControl()
{
InitializeComponent();
}
# region Properties
///
/// These are the properties value contains the text string seperated by the seperator
///

private string _value;
public string Value
{
set
{
_value = value;
}
}
///
/// Seperator is also a string by which we will parse the text string.
///

private string _seperator;
public string Seperator
{

set
{
_seperator = value;
}
}
///
/// This is default value means which checkbox will be checked by default.
///

private string _default;
public string Default
{
set
{
_default = value;
}
}

# endregion

#region private

///
/// This event will fire when checkBox will checked or unchecked.
///

///
///
private void checkedListBox1_SelectedValueChanged(object sender, EventArgs e)
{
//Creates an array of strings upto the number of check boxes avaliable in check box list.

string[] checkedItems = new string[M42CheckedListBox.CheckedItems.Count];

foreach (object objchecked in M42CheckedListBox.CheckedItems)
{
checkedItems[M42CheckedListBox.CheckedItems.IndexOf(objchecked)] = objchecked.ToString();
}
//This join method string.Join(_seperator, collectionOfCheckedItems) will give the selected items.
this.Description.Text= string.Join(_seperator, checkedItems);
}

# endregion

#region public
///
/// This check box option is firstly parse all the values and defaults then store iot in check
/// list boxes and text.
///


public void CheckBoxOption()
{
index = 0;
//This is to split through seperator
string[] parseString = _value.Split(_seperator.ToCharArray());
//thisd is to split the defailt value through seperator
string[] defaultString = _default.Split(_seperator.ToCharArray());
//this default description string array is just to store all the default values.
string[] defaultDescription = new string[defaultString.Length];

//This for loop is just to find the index of default value and create the check boxes.
if (_value != string.Empty)
{
foreach (string value in parseString)
{
if (M42CheckedListBox.Items.Contains(value))
{
}
else
{
M42CheckedListBox.Items.Add(value);
}
}
foreach (string defaultValue in defaultString)
{
if (M42CheckedListBox.Items.Contains(defaultValue))
{
M42CheckedListBox.SetItemCheckState(M42CheckedListBox.Items.IndexOf(defaultValue), CheckState.Checked);
defaultDescription[index++] = (defaultValue);
}
this.Description.Text = string.Join(_seperator, defaultDescription);
}
}
}

# endregion

}
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

How to Send data from a User Control to another user control on a single form using Events and Delegates:--

 Unknown     2:40 AM     No comments   

This is an example how to create Dynamic Check Boxes and how to communicate betwwen two user controls on a sigle form using Events and Delegates.
In this application I have to send some data from control2 to control1 on a single button click.So for this i have used event and Delegates.

Have A look.
//Control2:----
namespace ParserF
{
public partial class Control2 : UserControl
{
public ArrayList CheckBoxName = new ArrayList();
public char[] seperator = new char[5];
static int count = 0, indexing=0;
public delegate void PassSelectedValues(ArrayList CheckBoxName, int countDefault);
public event PassSelectedValues DataSelected;
public int Flag = 0;

public Control2()
{
InitializeComponent();
}

# region Properties
///
/// These are the properties value contains the text string seperated by the seperator
///

private string _Value;
public string Value
{
get
{
return _Value;
}
set
{
_Value = value;
}
}
///
/// Seperator is also a string by which we will parse the text string.
///

private string _Seperator;
public string Seperator
{
get
{
return _Seperator;
}
set
{
_Seperator = value;
}

}
///
/// This is default value means which checkbox will be checked by default.
///

private string _Default;
public string Default
{
get
{
return _Default;
}
set
{
_Default = value;
}
}

# endregion

# region private

///
/// This function is just when we will click on Ok button then all the data will be sent to control1
/// by delegate public delegate void PassSelectedValues(ArrayList CheckBoxName, int ind);
/// and event public event PassSelectedValues DataSelected; In this function i m taking a string Builder
/// Temporary String in that we will store the string after parsing through seperator and then store it in a arraylist.
///
///

///
///
private void OkButton_Click(object sender, EventArgs e)
{
StringBuilder TemporaryString = new StringBuilder();

InitializaValues();
//This if codition will check that value (Text String) contains default or not .If yes the continue otherwise will make a messagebox.
if (Value.Contains(Default))
{
for (int index = 0; index < Seperator.Length; index++)
{
seperator[index] = Seperator[index];
}
//This for loop is just to extract strings upto the length of the value
for (; (indexing < Value.Length); indexing++)
{
if (Value[indexing] != seperator[0])
{
TemporaryString.Append(Value[indexing]);
}
else
{
if (Flag == 0)
{
count++;
}
String str = TemporaryString.ToString();
//This if condition is just to comapare default one and store the index.
if (!System.Convert.ToBoolean((str.CompareTo(Default))))
{
Flag = count;
count = 0;
}

//This will add the string to the array list
CheckBoxName.Add(str);
//This will replace the string Builder Temporary String to Empty One.
TemporaryString.Replace(str, String.Empty);
}
}
if ((indexing == Value.Length)&&(Flag==0))
{
Flag = (count+1);
}
String str1 = TemporaryString.ToString();
CheckBoxName.Add(str1);
//DataSelected is the event which will fire by this we are sending the arraylist and the index for defaultCheck
DataSelected(CheckBoxName, Flag-1);
}
else
{
MessageBox.Show("No focus set due to No string matches from TextString");
}
}
///
/// This is just to Inotialize values to the text boxes.
///

private void InitializaValues()
{
Value = ValueTextBox.Text;
Seperator = SeperatorTextBox.Text;
Default = DefaultTextBox.Text;
}

# endregion
}
}

//Control1:---

namespace ParserF
{
public partial class Control1 : UserControl
{

public Control1()
{
InitializeComponent();
}
public int flag1;
ArrayList Array1 = new ArrayList();
static int index2 = 0;

public ArrayList SelectedCheckBox
{

set
{
Array1 = value;
}

}
public int indexing
{

set
{
flag1 = value;
}

}

public void AddCheckBox()
{
for (int index = 0; index < Array1.Count; index++)
{
CheckBox checkBox = new CheckBox();
checkBox.AutoSize = true;
checkBox.Location = new Point((28), (27 + index2));

checkBox.Size = new System.Drawing.Size(80, 17);
checkBox.Text = Array1[index].ToString();
if (index == flag1)
{
checkBox.Checked = true;
}
if (checkBox.Checked)
{
textBox1.Text = checkBox.Text;
}
checkBox.UseVisualStyleBackColor = true;
index2 += 20;
Controls.Add(checkBox);
checkBox.CheckedChanged += new EventHandler(checkBox_CheckedChanged);

}
}
///
/// This is an event which will fire when a user will check the check Box
///

///
///
private void checkBox_CheckedChanged(object sender, System.EventArgs e)
{
if (((CheckBox)sender).Checked == true)
{
if (textBox1.Text == string.Empty)
{
textBox1.Text = ((CheckBox)sender).Text;
}
else
{
textBox1.AppendText(",");
textBox1.AppendText(((CheckBox)sender).Text);
}
}
else if (textBox1.Text == ((CheckBox)sender).Text)
{
textBox1.Text = string.Empty;
}
else
{
int FirstIndex=textBox1.Text.IndexOf(((CheckBox)sender).Text);
int length=((CheckBox)sender).Text.Length;
string str1=textBox1.Text.Remove(FirstIndex, length);
textBox1.Text = str1;
}
}

private void Control1_Load(object sender, EventArgs e)
{

}

private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}
}
}

//Form1.cs

namespace ParserF
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
control21.DataSelected += new Control2.PassSelectedValues(passValuesHandlerMethod);
}
protected void passValuesHandlerMethod(ArrayList CheckBoxName, int flag2)
{
control11.SelectedCheckBox = CheckBoxName;
control11.flag1 = flag2;
control11.AddCheckBox();
}
private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
{

}

private void control21_Load(object sender, EventArgs e)
{

}

private void control11_Load_1(object sender, EventArgs e)
{

}

}
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Newer Posts Older Posts Home

About The Author

Unknown
View my complete profile

Total Pageviews

Popular Posts

  • Clr - Common Language Runtime
    .Net framework provides a run time environment - CLR. Common language runtime takes the IL code from the compiler( language specific) and p...
  • Predicate delegate in C#
    Hello Everyone, In the article we will talk about Predicate delegate. Predicate is also a delegate which encapsulate a method that takes...
  • Auto logout chrome extension for Gmail
    Hello Friends, In the last article we learned to create a sample chrome extension. Here we are going to create auto logout Gmail script as...
  • .Net Framework overview
    Hello friends : Here i am writing my first article on .Net framework anyways....So the question is What is .Net Framework ? The .Net fram...
  • Nagarro Placement Papers..
    Ques.1 :- Seat Reservation prog for the theatre. Write a function for seat allocation for the movie tickets. Total no of seats available are...
  • C code to Check the string has valid identifier or not in.
    #include #include #include char keyword[][10]={"auto","break","case","char","const","...
  • What does it mean by disconnected data access architecture of ADO.Net?
    ADO.Net introduces the concept of disconnected data architecture. In traditional data access components, you make a connection to the databa...
  • Calling the Delegates using Invoke(), BeginInvoke() and DynamicInvoke() ?
    Hello Guys, So in the last article we talked about What is delegate and how can we create a delegate. In this article we will discuss w...
  • Delegates in C Sharp
    A Delegate is a type variable that holds the reference to a method. Delegates are similar to Pointer to functions in C and C++ When we...
  • Garbage Collection - Automatic memory management
    While thinking of this question few things are coming in my mind ~ How .Net reclaims objects and memory used by an application ? So the ans...

Blog Archive

  • ▼  2016 (4)
    • ▼  September (2)
      • ▼  Sep 03 (2)
        • Auto logout chrome extension for Gmail
        • Auto logout chrome extension for facebook
    • ►  August (1)
      • ►  Aug 28 (1)
    • ►  April (1)
      • ►  Apr 24 (1)
  • ►  2015 (12)
    • ►  September (10)
      • ►  Sep 30 (1)
      • ►  Sep 29 (1)
      • ►  Sep 28 (1)
      • ►  Sep 27 (2)
      • ►  Sep 26 (3)
      • ►  Sep 20 (1)
      • ►  Sep 19 (1)
    • ►  August (1)
      • ►  Aug 16 (1)
    • ►  March (1)
      • ►  Mar 31 (1)
  • ►  2013 (10)
    • ►  June (1)
      • ►  Jun 16 (1)
    • ►  April (1)
      • ►  Apr 21 (1)
    • ►  February (8)
      • ►  Feb 18 (3)
      • ►  Feb 17 (2)
      • ►  Feb 16 (2)
      • ►  Feb 15 (1)
  • ►  2012 (1)
    • ►  May (1)
      • ►  May 27 (1)
  • ►  2010 (22)
    • ►  October (14)
      • ►  Oct 21 (1)
      • ►  Oct 06 (12)
      • ►  Oct 04 (1)
    • ►  April (2)
      • ►  Apr 22 (1)
      • ►  Apr 16 (1)
    • ►  March (1)
      • ►  Mar 30 (1)
    • ►  January (5)
      • ►  Jan 08 (3)
      • ►  Jan 01 (2)
  • ►  2009 (110)
    • ►  December (8)
      • ►  Dec 18 (2)
      • ►  Dec 05 (1)
      • ►  Dec 04 (5)
    • ►  November (1)
      • ►  Nov 27 (1)
    • ►  October (14)
      • ►  Oct 09 (4)
      • ►  Oct 07 (1)
      • ►  Oct 06 (3)
      • ►  Oct 05 (3)
      • ►  Oct 01 (3)
    • ►  September (17)
      • ►  Sep 30 (1)
      • ►  Sep 29 (1)
      • ►  Sep 28 (1)
      • ►  Sep 25 (1)
      • ►  Sep 24 (1)
      • ►  Sep 17 (2)
      • ►  Sep 15 (3)
      • ►  Sep 11 (2)
      • ►  Sep 09 (3)
      • ►  Sep 08 (2)
    • ►  August (31)
      • ►  Aug 31 (1)
      • ►  Aug 27 (3)
      • ►  Aug 26 (1)
      • ►  Aug 25 (2)
      • ►  Aug 24 (1)
      • ►  Aug 22 (2)
      • ►  Aug 21 (3)
      • ►  Aug 20 (2)
      • ►  Aug 19 (3)
      • ►  Aug 18 (1)
      • ►  Aug 16 (1)
      • ►  Aug 12 (2)
      • ►  Aug 11 (1)
      • ►  Aug 10 (3)
      • ►  Aug 07 (4)
      • ►  Aug 06 (1)
    • ►  July (24)
      • ►  Jul 25 (4)
      • ►  Jul 24 (20)
    • ►  April (15)
      • ►  Apr 10 (3)
      • ►  Apr 07 (9)
      • ►  Apr 06 (3)

Subscribe To

Posts
Atom
Posts
All Comments
Atom
All Comments
copyright @ TechGiant 2015. Powered by Blogger.

Disclaimer

This is my personal blog and i write articles on .Net, WPF, C#, OOPS, Threading and other .Net technologies. This is not related to any of my employer and organizations. This is the result of my personal interest.

Subscribe To

Posts
Atom
Posts
All Comments
Atom
All Comments

Followers

Copyright © A Developer Journey who codes for fun | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com