Skip to main content

Sticky Notes type application using C#




Technology: C#.NET

Major components of .NET used in this app:
  1.  Windows Form
  2. Text Box control
  3. Serialization concept

What is "sticky notes"?
Ans: Sticky note is a simple note keeping application of Windows. It remains on the top of the every window. We can use it to write down small notes that requires frequent attention.

Concept of serialization:
To save the current state of sticky note we can use Serialization concept. Serialization is the process of converting an object into a stream of bytes in order to store the object or transmit it to memory, a database, or a file. Its main purpose is to save the state of an object in order to be able to recreate it when needed. The reverse process is called deserialization.

Steps to create this utility:
  1. Create a Windows Form based project in IDE.
  2. Add TextBox control on the Windows form
  3. Set following properties of the TextBox control:
    • Dock Style to Fill
    • Multiline to True
Code Snippnets:
//storing notes in My Documents of windows

 FileStream mynotes = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\mynotes.nfc", FileMode.Create);

            BinaryFormatter format = new BinaryFormatter();
            format.Serialize(mynotes, txtUser.Text);
            mynotes.Close();



 //opening  notes on application launch
            if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\mynotes.nfc"))
            {
                FileStream opennotes = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\mynotes.nfc", FileMode.Open);
                BinaryFormatter format = new BinaryFormatter();
                txtUser.Text = (string)format.Deserialize(opennotes);
                opennotes.Close();
            }

Comments

Popular posts from this blog

Show Image on canvas HTML5

Here is the sample code to select image from system and display it on html5 canvas and javascript: <input type= "file" id= "selectedImage" /> <canvas id= "myCanvas" width= "500" height= "500" > </canvas> Javascript code: $( "#selectedImage" ).change( function (e) { var URL = window .URL; var url = URL.createObjectURL(e.target.files[ 0 ]); img.src = url; img.onload = function () { var canvas = document .getElementById( "myCanvas" ); var ctx = canvas.getContext( "2d" ); var imgSize = calculateAspectRatioFit(img.width, img.height, canvas.clientWidth, canvas.clientHeight); ctx.clearRect( 0 , 0 , canvas.width, canvas.height); ctx.drawImage(img, 0 , 0 , imgSize.width, imgSize.height); } }); function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) { var ratio = Math .min(maxWi

Pass byte array from C# to C++ and vice-versa

Pass byte array from C# to C++                           If you want to pass a byte array to native DLL as parameter, you can use the Intptr to do this, please check the demo below. /C++ API code: TestDLL_API void TestArrayPara (BYTE * pArray, int nSize) { for ( int i= 0 ; i<nSize; i++) printf( "%d\n" , pArray[i]); } //C# code: class TestClass { [DllImport(@"TestDll.dll")] public static extern void TestArrayPara (IntPtr pArray, int nSize); public static void Test () { byte [] array = new byte [ 16 ]; for ( int i = 0 ; i < 16 ; i++) { array[i] = ( byte )(i + 97 ); } int size = Marshal.SizeOf(array[ 0 ]) * array.Length; IntPtr pnt = Marshal.AllocHGlobal(size); try { // Copy the array to unmanaged memory. Marshal.Copy(array, 0 , pnt, array

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