My Contacts – Save your mobile contacts on computer

This C# application saves your mobile contacts with all their main, important & basic details on your computer hard drive. Giving you Control & backup of all contacts with many other features.

Why I developed such small thing? This post will give you answer.
A series of incidents lead me to develop My Contacts application. Some of them were my mobile phone just stopped working without any problem, my other sim on which I keep backup of my contacts was missing. I lost access to contacts of my friends & family that I gather in previous 2, 3 years. Although I got my contacts back when I found my sim back. Then another main reason for this app was that one of my friend’s mobile was snatched. Imagine if you loss contacts of your friends, how will you contact them? It will be a serious problem. But if we have our contacts stored on our computer then we can easily get back to them. This isn’t a useless application. In fact it can help you get back your contacts. I get so much time on my hands in free time at university & home so I thought to make it useful for myself & people around me.

How it works?

Here is a video explaining how it works.

Click on above image to play video [Sorry my microphone is not working :D] In video you can see At loading it login to Default user account.
  1. If you have already created any account then login to it from login panel if not you can create a new account any time by clicking at Create Account..
  2. After you login all contacts in your account will be shown in All Contacts Panel.
  3. To search any contacts click on Search Contacts which will let you to Search Contact panel.
  4. If you check on show details on selection Radio button, it will show details of selected contact on Contact Panel.
  5. Add Contacts to your account by clicking on Add Contacts in left hand side bar.
  6. And if you want to edit or update any account details select it in All Contacts panel or Search panel & check on show contact detail. There you will get option for edit & delete. As I show in video when I saved Wahab’s contact & then updated it.
  7. Another great features [which took most of development time] are Import & Export Contacts. If you want to send any contact to your friend click on Export Contact. On this panel select desired contact & click on Export button. A saving window will open. Give it a name. This application will then save contact’s all detail in a XML file. Send this file to your friend.
  8. If you want to import any contact just click on Import Contacts on left bar. On this panel you will have to first select a file with .XML extension. After you select a file, this application will analyse it. If the basic details including Name & cell number are found on the file it will allow you to import that file. Otherwise it will not enable Import option.
  9. How to Use panel is also great for any new users.
  10. About panel have a little info about My Contacts application & its developer Me.


  1. Language : C#
  2. Multiple Accounts Options
  3. Data storage on XML Files
  4. Add, Edit & Delete Contacts.
  5. Also Saves Pictures of Contacts (using Hashing)
  6. In case of Forget Password Recovering
  7. Import & Export Contacts
  8. Best user friendly design.

Download My Contacts Setup:

Download My Contacts Setup file. This will include setup for both x86 Bit Windows OS & x64 Bit Windows.
File Size : 6.22 MB
Important >> Install & use it in Administrator mode << Important

Source Code:

Source code published. Download from here.

File Size : 19 MB
Visual Studio 2010 Files

20 thoughts on “My Contacts – Save your mobile contacts on computer”

  1. how did you make that picture in background. i mean its a little hidden. i can do that in html webpages but i have tried a lot in win forms but it did not work. plz provide code for it.

  2. awesome larky. i was thinking it is WPF. it was impossible in windows form application but you did it. nice logical code in source code. can you teach me ?? please

  3. XML for data storage ? . Howd u do that ? . Is it easy ? . I want to learn XML. Plez post about XML on C Sharpens.

  4. I would say that for a small application like this, storing contacts in an XML file would be fair enough, but as mentioned previously it wouldn't scale well if you were to add a large number of contacts in.
    I would also recommend that you avoid saving images to the XML file entirely, and perhaps consider placing them in a separate file that's in binary format – you'd get a much smaller file size this way and you'd also be able to compress it to save space.

  5. XML should work, but you could have a look at SQLite, good job for it.
    I couldn't help myself and had a look at the code… Disclaimer: I sound more snarky than I actually am.

    -What is it, 1999 ? Who's not using a VCS today ?
    -bin/ and obj/ folders and binaries in a "source" archive ? Not pretty
    -Form1 is not an explicit name.
    -Unnecessary usings in Program.cs and Form1.cs
    -Bad xml doc on the namespace in SimpleHash.cs
    -400 colonnes in Form1.cs
    -naming style: I (personally) expect private fields to be prefixed or suffixed with an underscore.
    -Fields: I dislike multiple declaration per lines.
    -naming should be consistent: x86folder and StorageDirectory are both private instance fields.
    -dead code should be removed before publication
    -new lines are not consistent
    -I don't know why you use "a".Equals("b"), when a == is enough. Especially here:
    if (AccountReader.LocalName.Equals("AccountFirstName"))
    UserFirstName = AccountReader.ReadString();
    if (AccountReader.LocalName.Equals("AccountLastName"))
    UserLastName = AccountReader.ReadString();
    // …
    Also, it needs "else" keywords and local variable to keep the code DRY:
    var readString = AccountReader.ReadString();
    if (AccountReader.LocalName == "AccountFirstName")
    UserFirstName = readString;
    else if (AccountReader.LocalName == "AccountLastName")
    UserLastName = readString;
    // else …
    -Now, why not a switch ?
    switch (AccountReader.LocalName)
    case "AccountFirstName":
    UserFirstName = readString;
    case "AccountLastName":
    UserLastName = readString;
    // …
    if(someBoolean) {} else if (!someBoolean) {} You can remove the second condition. You're checking that someBoolean is false when it's not true, ie. when it's false.
    private void Falser(int PanelNo) : arguments should not be Uppercased
    if (PanelNo == 0){} if(PanelNo ==1) {} … until 9: use a switch

    -I've seen code copy-pasted two, three times. Bad.

  6. Hello have you got something good understandable on c#,im beginner on this I like to clerifad every detail on simple way,can you do that for me.

  7. hello,i would like to know how is it possible to have just one form:for instance how do you get to click on all contacts and get the same details displayed in the form..

Comments are closed.