Posts Tagged ‘CSharp’

The software called “MarkMyImage” and it is a freeware.


Author says:

I wanted to watermark few sunset images taken by me, before posting it internet.

When I clicked checkboxes, froze the program. And I changed the source code on “frmMain.cs” so it works.
I commented out Reg. stuff, so that I did not want to use it.

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using Microsoft.Win32;

namespace WaterMark
{
        /// <summary>
        /// Summary description for frmMain.
        /// </summary>
        public class frmMain : System.Windows.Forms.Form
        {
                private System.Windows.Forms.StatusBar statusBar1;
                private System.Windows.Forms.StatusBarPanel statusBarPanel1;
                private System.Windows.Forms.StatusBarPanel statusBarPanel2;
                private System.Windows.Forms.GroupBox groupBox1;
                private System.Windows.Forms.Label label1;
                private System.Windows.Forms.Label label3;
                private System.Windows.Forms.CheckedListBox lstFileList;
                private System.Windows.Forms.TextBox txtWorkingFolder;
                private System.Windows.Forms.ComboBox cmbImageType;
                private System.Windows.Forms.PictureBox picSource;
                private System.Windows.Forms.GroupBox groupBox2;
                private System.Windows.Forms.Button cmdBrowse1;
                private System.Windows.Forms.Button cmdMake;
                private System.Windows.Forms.CheckBox chkPreview;
                private System.Windows.Forms.ProgressBar progressBar1;
                private System.Windows.Forms.Button cmdBrowse3;
                private System.Windows.Forms.TextBox txtOutputFolder;
                private System.Windows.Forms.CheckBox chkSameOutputFolder;
                private System.Windows.Forms.TextBox txtSuffix;
                private System.Windows.Forms.Label label2;
                private System.Windows.Forms.Label lblAbout;
                private System.Windows.Forms.Label label5;
                private System.Windows.Forms.Label label6;
                private System.Windows.Forms.LinkLabel linkLabel1;
                private System.Windows.Forms.LinkLabel linkLabel2;
                private System.Windows.Forms.LinkLabel linkLabel3;
                private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
                private System.Windows.Forms.OpenFileDialog openFileDialog1;
                //private const string RegKey = @"Software\Big Ds Tech\Mark My Image";
                //private string regInputFolder, regOutputFolder,regWaterMarkImage;
                private System.Windows.Forms.TabControl tabControl1;
                private System.Windows.Forms.PictureBox picWaterMark;
                private System.Windows.Forms.TextBox txtWaterMarkImage;
                private System.Windows.Forms.Button cmdBrowse2;
                private System.Windows.Forms.CheckBox chkWaterMarkImage;
                private System.Windows.Forms.Label label4;
                private System.Windows.Forms.TextBox txtCopyRight;
                private System.Windows.Forms.TabPage tabPage1;
                private System.Windows.Forms.TabPage tabPage2;
                private System.Windows.Forms.PropertyGrid propertyGrid1;
                private WMProperties pt;
                /// <summary>
                /// Required designer variable.
                /// </summary>
                private System.ComponentModel.Container components = null;

                public frmMain()
                {
                        //
                        // Required for Windows Form Designer support
                        //
                        InitializeComponent();

                        //
                        // TODO: Add any constructor code after InitializeComponent call
                        //
                }

                /// <summary>
                /// Clean up any resources being used.
                /// </summary>
                protected override void Dispose( bool disposing )
                {
                        if( disposing )
                        {
                                if (components != null)
                                {
                                        components.Dispose();
                                }
                        }
                        base.Dispose( disposing );
                }

                #region Windows Form Designer generated code
                /// <summary>
                /// Required method for Designer support - do not modify
                /// the contents of this method with the code editor.
                /// </summary>
                private void InitializeComponent()
                {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
            this.statusBar1 = new System.Windows.Forms.StatusBar();
            this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel();
            this.statusBarPanel2 = new System.Windows.Forms.StatusBarPanel();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.lstFileList = new System.Windows.Forms.CheckedListBox();
            this.groupBox2 = new System.Windows.Forms.GroupBox();
            this.tabControl1 = new System.Windows.Forms.TabControl();
            this.tabPage1 = new System.Windows.Forms.TabPage();
            this.txtWaterMarkImage = new System.Windows.Forms.TextBox();
            this.label4 = new System.Windows.Forms.Label();
            this.txtCopyRight = new System.Windows.Forms.TextBox();
            this.cmdBrowse2 = new System.Windows.Forms.Button();
            this.chkWaterMarkImage = new System.Windows.Forms.CheckBox();
            this.picWaterMark = new System.Windows.Forms.PictureBox();
            this.tabPage2 = new System.Windows.Forms.TabPage();
            this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
            this.cmbImageType = new System.Windows.Forms.ComboBox();
            this.label3 = new System.Windows.Forms.Label();
            this.cmdBrowse1 = new System.Windows.Forms.Button();
            this.txtWorkingFolder = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.chkPreview = new System.Windows.Forms.CheckBox();
            this.picSource = new System.Windows.Forms.PictureBox();
            this.cmdMake = new System.Windows.Forms.Button();
            this.progressBar1 = new System.Windows.Forms.ProgressBar();
            this.cmdBrowse3 = new System.Windows.Forms.Button();
            this.txtOutputFolder = new System.Windows.Forms.TextBox();
            this.chkSameOutputFolder = new System.Windows.Forms.CheckBox();
            this.txtSuffix = new System.Windows.Forms.TextBox();
            this.label2 = new System.Windows.Forms.Label();
            this.lblAbout = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.label6 = new System.Windows.Forms.Label();
            this.linkLabel1 = new System.Windows.Forms.LinkLabel();
            this.linkLabel2 = new System.Windows.Forms.LinkLabel();
            this.linkLabel3 = new System.Windows.Forms.LinkLabel();
            this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
            this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
            ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).BeginInit();
            this.groupBox1.SuspendLayout();
            this.groupBox2.SuspendLayout();
            this.tabControl1.SuspendLayout();
            this.tabPage1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.picWaterMark)).BeginInit();
            this.tabPage2.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.picSource)).BeginInit();
            this.SuspendLayout();
            //
            // statusBar1
            //
            this.statusBar1.Location = new System.Drawing.Point(0, 464);
            this.statusBar1.Name = "statusBar1";
            this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
            this.statusBarPanel1,
            this.statusBarPanel2});
            this.statusBar1.ShowPanels = true;
            this.statusBar1.Size = new System.Drawing.Size(792, 18);
            this.statusBar1.TabIndex = 0;
            this.statusBar1.Text = "statusBar1";
            //
            // statusBarPanel1
            //
            this.statusBarPanel1.Name = "statusBarPanel1";
            this.statusBarPanel1.Text = "Ready";
            //
            // statusBarPanel2
            //
            this.statusBarPanel2.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring;
            this.statusBarPanel2.Name = "statusBarPanel2";
            this.statusBarPanel2.Width = 675;
            //
            // groupBox1
            //
            this.groupBox1.Controls.Add(this.lstFileList);
            this.groupBox1.Controls.Add(this.groupBox2);
            this.groupBox1.Controls.Add(this.cmbImageType);
            this.groupBox1.Controls.Add(this.label3);
            this.groupBox1.Controls.Add(this.cmdBrowse1);
            this.groupBox1.Controls.Add(this.txtWorkingFolder);
            this.groupBox1.Controls.Add(this.label1);
            this.groupBox1.Controls.Add(this.chkPreview);
            this.groupBox1.Location = new System.Drawing.Point(4, 2);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(410, 458);
            this.groupBox1.TabIndex = 1;
            this.groupBox1.TabStop = false;
            //
            // lstFileList
            //
            this.lstFileList.Location = new System.Drawing.Point(8, 76);
            this.lstFileList.Name = "lstFileList";
            this.lstFileList.Size = new System.Drawing.Size(396, 169);
            this.lstFileList.TabIndex = 4;
            this.lstFileList.SelectedIndexChanged += new System.EventHandler(this.lstFileList_SelectedIndexChanged);
            //
            // groupBox2
            //
            this.groupBox2.Controls.Add(this.tabControl1);
            this.groupBox2.Location = new System.Drawing.Point(6, 252);
            this.groupBox2.Name = "groupBox2";
            this.groupBox2.Size = new System.Drawing.Size(400, 200);
            this.groupBox2.TabIndex = 11;
            this.groupBox2.TabStop = false;
            this.groupBox2.Text = "Water Mark";
            //
            // tabControl1
            //
            this.tabControl1.Controls.Add(this.tabPage1);
            this.tabControl1.Controls.Add(this.tabPage2);
            this.tabControl1.Location = new System.Drawing.Point(6, 16);
            this.tabControl1.Name = "tabControl1";
            this.tabControl1.SelectedIndex = 0;
            this.tabControl1.Size = new System.Drawing.Size(388, 178);
            this.tabControl1.TabIndex = 13;
            this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
            //
            // tabPage1
            //
            this.tabPage1.Controls.Add(this.txtWaterMarkImage);
            this.tabPage1.Controls.Add(this.label4);
            this.tabPage1.Controls.Add(this.txtCopyRight);
            this.tabPage1.Controls.Add(this.cmdBrowse2);
            this.tabPage1.Controls.Add(this.chkWaterMarkImage);
            this.tabPage1.Controls.Add(this.picWaterMark);
            this.tabPage1.Location = new System.Drawing.Point(4, 22);
            this.tabPage1.Name = "tabPage1";
            this.tabPage1.Size = new System.Drawing.Size(380, 152);
            this.tabPage1.TabIndex = 0;
            this.tabPage1.Text = "General";
            //
            // txtWaterMarkImage
            //
            this.txtWaterMarkImage.Enabled = false;
            this.txtWaterMarkImage.Location = new System.Drawing.Point(88, 68);
            this.txtWaterMarkImage.Name = "txtWaterMarkImage";
            this.txtWaterMarkImage.Size = new System.Drawing.Size(262, 20);
            this.txtWaterMarkImage.TabIndex = 7;
            //
            // label4
            //
            this.label4.Location = new System.Drawing.Point(2, 6);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(84, 14);
            this.label4.TabIndex = 12;
            this.label4.Text = "Text";
            //
            // txtCopyRight
            //
            this.txtCopyRight.Location = new System.Drawing.Point(88, 6);
            this.txtCopyRight.Multiline = true;
            this.txtCopyRight.Name = "txtCopyRight";
            this.txtCopyRight.Size = new System.Drawing.Size(288, 56);
            this.txtCopyRight.TabIndex = 5;
            this.txtCopyRight.Text = "Copyright © 2005 Big D";
            //
            // cmdBrowse2
            //
            this.cmdBrowse2.Enabled = false;
            this.cmdBrowse2.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.cmdBrowse2.Location = new System.Drawing.Point(354, 68);
            this.cmdBrowse2.Name = "cmdBrowse2";
            this.cmdBrowse2.Size = new System.Drawing.Size(22, 20);
            this.cmdBrowse2.TabIndex = 8;
            this.cmdBrowse2.Text = "...";
            this.cmdBrowse2.Click += new System.EventHandler(this.cmdBrowse2_Click);
            //
            // chkWaterMarkImage
            //
            this.chkWaterMarkImage.Location = new System.Drawing.Point(2, 70);
            this.chkWaterMarkImage.Name = "chkWaterMarkImage";
            this.chkWaterMarkImage.Size = new System.Drawing.Size(84, 16);
            this.chkWaterMarkImage.TabIndex = 6;
            this.chkWaterMarkImage.Text = "Image";
            this.chkWaterMarkImage.CheckedChanged += new System.EventHandler(this.chkWaterMarkImage_CheckedChanged);
            //
            // picWaterMark
            //
            this.picWaterMark.Location = new System.Drawing.Point(88, 94);
            this.picWaterMark.Name = "picWaterMark";
            this.picWaterMark.Size = new System.Drawing.Size(290, 54);
            this.picWaterMark.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
            this.picWaterMark.TabIndex = 11;
            this.picWaterMark.TabStop = false;
            //
            // tabPage2
            //
            this.tabPage2.Controls.Add(this.propertyGrid1);
            this.tabPage2.Location = new System.Drawing.Point(4, 22);
            this.tabPage2.Name = "tabPage2";
            this.tabPage2.Size = new System.Drawing.Size(380, 152);
            this.tabPage2.TabIndex = 1;
            this.tabPage2.Text = "Properties";
            //
            // propertyGrid1
            //
            this.propertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.propertyGrid1.HelpVisible = false;
            this.propertyGrid1.LineColor = System.Drawing.SystemColors.ScrollBar;
            this.propertyGrid1.Location = new System.Drawing.Point(0, 0);
            this.propertyGrid1.Name = "propertyGrid1";
            this.propertyGrid1.Size = new System.Drawing.Size(380, 152);
            this.propertyGrid1.TabIndex = 0;
            this.propertyGrid1.ToolbarVisible = false;
            //
            // cmbImageType
            //
            this.cmbImageType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbImageType.Items.AddRange(new object[] {
            "All Image Files",
            "JPEG Images (*.JPG, *.JPEG)",
            "Windows Bitmap Images (*.bmp)"});
            this.cmbImageType.Location = new System.Drawing.Point(104, 46);
            this.cmbImageType.Name = "cmbImageType";
            this.cmbImageType.Size = new System.Drawing.Size(176, 21);
            this.cmbImageType.TabIndex = 2;
            this.cmbImageType.SelectedIndexChanged += new System.EventHandler(this.cmbImageType_SelectedIndexChanged);
            //
            // label3
            //
            this.label3.Location = new System.Drawing.Point(10, 50);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(82, 14);
            this.label3.TabIndex = 6;
            this.label3.Text = "Image Type";
            //
            // cmdBrowse1
            //
            this.cmdBrowse1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.cmdBrowse1.Location = new System.Drawing.Point(382, 20);
            this.cmdBrowse1.Name = "cmdBrowse1";
            this.cmdBrowse1.Size = new System.Drawing.Size(22, 20);
            this.cmdBrowse1.TabIndex = 1;
            this.cmdBrowse1.Text = "...";
            this.cmdBrowse1.Click += new System.EventHandler(this.cmdBrowse1_Click);
            //
            // txtWorkingFolder
            //
            this.txtWorkingFolder.Location = new System.Drawing.Point(104, 20);
            this.txtWorkingFolder.Name = "txtWorkingFolder";
            this.txtWorkingFolder.Size = new System.Drawing.Size(274, 20);
            this.txtWorkingFolder.TabIndex = 0;
            //
            // label1
            //
            this.label1.Location = new System.Drawing.Point(8, 24);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(94, 14);
            this.label1.TabIndex = 0;
            this.label1.Text = "Input Folder";
            //
            // chkPreview
            //
            this.chkPreview.Checked = true;
            this.chkPreview.CheckState = System.Windows.Forms.CheckState.Checked;
            this.chkPreview.Location = new System.Drawing.Point(284, 48);
            this.chkPreview.Name = "chkPreview";
            this.chkPreview.Size = new System.Drawing.Size(120, 20);
            this.chkPreview.TabIndex = 3;
            this.chkPreview.Text = "&Preview Image";
            this.chkPreview.CheckedChanged += new System.EventHandler(this.chkPreview_CheckedChanged);
            //
            // picSource
            //
            this.picSource.Location = new System.Drawing.Point(418, 6);
            this.picSource.Name = "picSource";
            this.picSource.Size = new System.Drawing.Size(370, 228);
            this.picSource.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
            this.picSource.TabIndex = 2;
            this.picSource.TabStop = false;
            //
            // cmdMake
            //
            this.cmdMake.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.cmdMake.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.cmdMake.Location = new System.Drawing.Point(418, 326);
            this.cmdMake.Name = "cmdMake";
            this.cmdMake.Size = new System.Drawing.Size(370, 32);
            this.cmdMake.TabIndex = 12;
            this.cmdMake.Text = "&Make";
            this.cmdMake.Click += new System.EventHandler(this.cmdMake_Click);
            //
            // progressBar1
            //
            this.progressBar1.Location = new System.Drawing.Point(416, 238);
            this.progressBar1.Name = "progressBar1";
            this.progressBar1.Size = new System.Drawing.Size(372, 22);
            this.progressBar1.TabIndex = 14;
            //
            // cmdBrowse3
            //
            this.cmdBrowse3.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.cmdBrowse3.Location = new System.Drawing.Point(764, 296);
            this.cmdBrowse3.Name = "cmdBrowse3";
            this.cmdBrowse3.Size = new System.Drawing.Size(22, 20);
            this.cmdBrowse3.TabIndex = 11;
            this.cmdBrowse3.Text = "...";
            this.cmdBrowse3.Click += new System.EventHandler(this.cmdBrowse3_Click);
            //
            // txtOutputFolder
            //
            this.txtOutputFolder.Location = new System.Drawing.Point(418, 296);
            this.txtOutputFolder.Name = "txtOutputFolder";
            this.txtOutputFolder.Size = new System.Drawing.Size(342, 20);
            this.txtOutputFolder.TabIndex = 10;
            //
            // chkSameOutputFolder
            //
            this.chkSameOutputFolder.BackColor = System.Drawing.SystemColors.Control;
            this.chkSameOutputFolder.Checked = true;
            this.chkSameOutputFolder.CheckState = System.Windows.Forms.CheckState.Checked;
            this.chkSameOutputFolder.Location = new System.Drawing.Point(420, 270);
            this.chkSameOutputFolder.Name = "chkSameOutputFolder";
            this.chkSameOutputFolder.Size = new System.Drawing.Size(242, 18);
            this.chkSameOutputFolder.TabIndex = 9;
            this.chkSameOutputFolder.Text = "Use &output folder as same add suffix";
            this.chkSameOutputFolder.UseVisualStyleBackColor = false;
            this.chkSameOutputFolder.CheckedChanged += new System.EventHandler(this.chkSameOutputFolder_CheckedChanged);
            //
            // txtSuffix
            //
            this.txtSuffix.Location = new System.Drawing.Point(620, 267);
            this.txtSuffix.MaxLength = 15;
            this.txtSuffix.Name = "txtSuffix";
            this.txtSuffix.Size = new System.Drawing.Size(50, 20);
            this.txtSuffix.TabIndex = 19;
            this.txtSuffix.Text = "_final";
            //
            // label2
            //
            this.label2.Location = new System.Drawing.Point(676, 271);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(82, 16);
            this.label2.TabIndex = 20;
            this.label2.Text = "after file names";
            //
            // lblAbout
            //
            this.lblAbout.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
            this.lblAbout.Location = new System.Drawing.Point(416, 364);
            this.lblAbout.Name = "lblAbout";
            this.lblAbout.Size = new System.Drawing.Size(372, 96);
            this.lblAbout.TabIndex = 21;
            this.lblAbout.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            //
            // label5
            //
            this.label5.Location = new System.Drawing.Point(420, 382);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(368, 14);
            this.label5.TabIndex = 22;
            this.label5.Text = "Developed by Deb\'jyoti Das";
            this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            //
            // label6
            //
            this.label6.Location = new System.Drawing.Point(420, 422);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(356, 14);
            this.label6.TabIndex = 23;
            this.label6.Text = "Main credit goes to Joel Neubeck\'s this Code Project article ";
            this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            //
            // linkLabel1
            //
            this.linkLabel1.Location = new System.Drawing.Point(588, 400);
            this.linkLabel1.Name = "linkLabel1";
            this.linkLabel1.Size = new System.Drawing.Size(182, 18);
            this.linkLabel1.TabIndex = 24;
            this.linkLabel1.TabStop = true;
            this.linkLabel1.Text = "http://b.domaindlx.com/bigd";
            this.linkLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
            //
            // linkLabel2
            //
            this.linkLabel2.Location = new System.Drawing.Point(446, 400);
            this.linkLabel2.Name = "linkLabel2";
            this.linkLabel2.Size = new System.Drawing.Size(146, 18);
            this.linkLabel2.TabIndex = 25;
            this.linkLabel2.TabStop = true;
            this.linkLabel2.Text = "invincible.bigd@gmail.com";
            this.linkLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            this.linkLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel2_LinkClicked);
            //
            // linkLabel3
            //
            this.linkLabel3.Location = new System.Drawing.Point(624, 422);
            this.linkLabel3.Name = "linkLabel3";
            this.linkLabel3.Size = new System.Drawing.Size(22, 14);
            this.linkLabel3.TabIndex = 26;
            this.linkLabel3.TabStop = true;
            this.linkLabel3.Text = "this";
            this.linkLabel3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
            this.linkLabel3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel3_LinkClicked);
            //
            // frmMain
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(792, 482);
            this.Controls.Add(this.linkLabel3);
            this.Controls.Add(this.linkLabel2);
            this.Controls.Add(this.linkLabel1);
            this.Controls.Add(this.label6);
            this.Controls.Add(this.label5);
            this.Controls.Add(this.lblAbout);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.txtSuffix);
            this.Controls.Add(this.chkSameOutputFolder);
            this.Controls.Add(this.txtOutputFolder);
            this.Controls.Add(this.cmdBrowse3);
            this.Controls.Add(this.progressBar1);
            this.Controls.Add(this.picSource);
            this.Controls.Add(this.groupBox1);
            this.Controls.Add(this.statusBar1);
            this.Controls.Add(this.cmdMake);
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
            this.MaximizeBox = false;
            this.Name = "frmMain";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "Mark My Image";
            this.Load += new System.EventHandler(this.frmMain_Load);
            this.Closed += new System.EventHandler(this.frmMain_Closed);
            ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).EndInit();
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.groupBox2.ResumeLayout(false);
            this.tabControl1.ResumeLayout(false);
            this.tabPage1.ResumeLayout(false);
            this.tabPage1.PerformLayout();
            ((System.ComponentModel.ISupportInitialize)(this.picWaterMark)).EndInit();
            this.tabPage2.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)(this.picSource)).EndInit();
            this.ResumeLayout(false);
            this.PerformLayout();

                }
                #endregion

                /// <summary>
                /// The main entry point for the application.
                /// </summary>
                [STAThread]
                static void Main()
                {
                        Application.Run(new frmMain());
                }

                private void frmMain_Load(object sender, System.EventArgs e)
                {
                        pt = new WMProperties();
                        //GetFromRegistry();
                        //txtWorkingFolder.Text = regInputFolder;
                        //txtWaterMarkImage.Text = regWaterMarkImage;
                        chkWaterMarkImage.Checked = false;
                        cmbImageType.SelectedIndex = 0;
                        //txtOutputFolder.Text = regOutputFolder;
                        txtOutputFolder.Enabled = false;
                        cmdBrowse3.Enabled = false;

                        setWMProperties();
                        //pt.TextPosition = ContentAlignment.BottomCenter;
                        //pt.ImagePosition = ContentAlignment.TopRight;
                        //pt.Font = new Font("arial",(float)8.25);
                        //pt.FontSizeBestFit = true;
                        //lblAbout.Text = ";
                        pt.setDefaultValues();

                        GetFiles();

                        if(chkPreview.Checked == true && lstFileList.Items.Count > 0)
                        {
                                lstFileList.SelectedIndex = 0;
                                if (File.Exists(lstFileList.Items[0].ToString()))
                                        picSource.Image = Image.FromFile(lstFileList.Items[0].ToString());
                        }

                }

                private void GetFiles()
                {
                        string [] temp1 = null,temp2 = null,temp3 = null,fileEntries = null;
                        int tot_files = 0;

                        try
                        {
                                switch(cmbImageType.SelectedIndex)
                                {
                                        case 0:
                                                temp1 = Directory.GetFiles(txtWorkingFolder.Text,"*.jpg");
                                                temp2 = Directory.GetFiles(txtWorkingFolder.Text,"*.jpeg");
                                                temp3 = Directory.GetFiles(txtWorkingFolder.Text,"*.bmp");
                                                tot_files = temp1.Length + temp2.Length + temp3.Length;
                                                fileEntries = new string[tot_files];
                                                Array.Copy(temp1,0,fileEntries,0,temp1.Length);
                                                Array.Copy(temp2,0,fileEntries,temp1.Length,temp2.Length);
                                                Array.Copy(temp3,0,fileEntries,temp1.Length + temp2.Length,temp3.Length);
                                                break;
                                        case 1:
                                                temp1 = Directory.GetFiles(txtWorkingFolder.Text,"*.jpg");
                                                temp2 = Directory.GetFiles(txtWorkingFolder.Text,"*.jpeg");
                                                tot_files = temp1.Length + temp2.Length;
                                                fileEntries = new string[tot_files];
                                                Array.Copy(temp1,0,fileEntries,0,temp1.Length);
                                                Array.Copy(temp2,0,fileEntries,fileEntries.Length,temp2.Length);
                                                break;
                                        case 2:
                                                fileEntries = Directory.GetFiles(txtWorkingFolder.Text,"*.bmp");
                                                tot_files = fileEntries.Length;
                                                break;

                                }

                                progressBar1.Maximum = tot_files;
                                lstFileList.Items.Clear();

                                foreach(string fileName in fileEntries)
                                {
                                        if (fileName != null)
                                                lstFileList.Items.Add(fileName.Replace(AppDomain.CurrentDomain.BaseDirectory,@".\"),CheckState.Checked);
                                }

                                statusBarPanel2.Text = lstFileList.Items.Count + " File(s)" ;

                                //We will add the preview item..
                                //lstPreview.Items.Add("Preview using current Watermark settings");

                        }
                        catch{}

                }

                private void cmdBrowse1_Click(object sender, System.EventArgs e)
                {
                        string oldWorkingFolder;
                        try
                        {
                                if(txtWorkingFolder.Text.Substring(0,1) == ".")
                                        oldWorkingFolder = txtWorkingFolder.Text.Replace(".",AppDomain.CurrentDomain.BaseDirectory.Substring(0,AppDomain.CurrentDomain.BaseDirectory.Length - 1));
                                else
                                        oldWorkingFolder = txtWorkingFolder.Text;

                                folderBrowserDialog1.SelectedPath = oldWorkingFolder;
                                //folderBrowserDialog1.RootFolder = System.Environment.SpecialFolder.Personal;
                        }
                        catch{}
                        try
                        {
                                if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
                                {
                                        txtWorkingFolder.Text = folderBrowserDialog1.SelectedPath;
                                        if (chkSameOutputFolder.Checked == true)
                                        {
                                                txtOutputFolder.Text = txtWorkingFolder.Text;
                                        }
                                        GetFiles();
                                }
                        }
                        catch{}
                }

                private void chkWaterMarkImage_CheckedChanged(object sender, System.EventArgs e)
                {
                        //if(chkWaterMarkImage.Checked == true && txtWaterMarkImage.Text != "")
            if (chkWaterMarkImage.Checked == true)
                        {
                                txtWaterMarkImage.Enabled = true;
                                cmdBrowse2.Enabled = true;
                                string fileName;

                if (txtWaterMarkImage.Text != "")
                {
                    if(txtWaterMarkImage.Text.Substring(0,1) == ".")
                                            fileName = AppDomain.CurrentDomain.BaseDirectory + txtWaterMarkImage.Text.Substring(2);
                                    else
                                            fileName = txtWaterMarkImage.Text;

                                    if(File.Exists(fileName))
                                    {
                                            picWaterMark.Image = Image.FromFile(fileName);
                                    }
                }

                        }
                        else
                        {
                                txtWaterMarkImage.Enabled = false;
                                cmdBrowse2.Enabled = false;
                                picWaterMark.Image = null;
                                pt.CopyrightImage = null;
                        }
                }

                private void lstFileList_SelectedIndexChanged(object sender, System.EventArgs e)
                {

                        string filename= txtWorkingFolder.Text + lstFileList.SelectedItem.ToString().Substring(lstFileList.SelectedItem.ToString().LastIndexOf("\\"));

                        if(chkPreview.Checked == true && File.Exists(filename))
                        {
                                picSource.Image = Image.FromFile(filename);
                        }
                }

                private void cmdMake_Click(object sender, System.EventArgs e)
                {

                        if ( chkSameOutputFolder.Checked == false && txtWorkingFolder.Text.Equals(txtOutputFolder.Text))
                        {
                                MessageBox.Show("Output folder can not be same as input folder",this.Text,MessageBoxButtons.OK,MessageBoxIcon.Error);
                                return;
                        }
                        try
                        {
                                this.Cursor = Cursors.WaitCursor;
                                statusBarPanel1.Text = "Busy";
                                Application.DoEvents();
                                WaterMark wm;
                                string srcPic,dstPic;

                                if (chkWaterMarkImage.Checked == true)
                                        wm = new WaterMark(txtWorkingFolder.Text,txtCopyRight.Text,pt.TextPosition,pt.Font,picWaterMark.Image,pt.ImagePosition);
                                else
                                        wm = new WaterMark(txtWorkingFolder.Text,txtCopyRight.Text,pt.TextPosition,pt.Font);

                                for(int i=0;i<lstFileList.CheckedItems.Count;i++)
                                {
                                        //srcPic = txtWorkingFolder.Text + lstFileList.Items[i].ToString().Substring(1);
                                        srcPic = txtWorkingFolder.Text + lstFileList.Items[i].ToString().Substring(lstFileList.Items[i].ToString().LastIndexOf("\\"));
                                        if (chkSameOutputFolder.Checked == true)
                                                dstPic = srcPic.Insert(srcPic.LastIndexOf("."),txtSuffix.Text);
                                        else
                                                dstPic = txtOutputFolder.Text + "\\" + srcPic.Substring(srcPic.LastIndexOf("\\") + 1);

                                        wm.MarkImage(srcPic,dstPic);
                                        progressBar1.Increment(1);
                                        statusBarPanel2.Text = "Proecessing Image " + srcPic.Substring(lstFileList.Items[i].ToString().LastIndexOf("\\") + 1);
                                        Application.DoEvents();
                                }
                                progressBar1.Value = 0;
                                statusBarPanel1.Text = "Ready";
                                statusBarPanel2.Text = "";
                                this.Cursor = Cursors.Default;
                                Application.DoEvents();
                        }
                        catch(Exception ex)
                        {
                                progressBar1.Value = 0;
                                statusBarPanel1.Text = "Ready";
                                statusBarPanel2.Text = ex.Message;
                                this.Cursor = Cursors.Default;
                                Application.DoEvents();
                        }

                }

                private void chkSameOutputFolder_CheckedChanged(object sender, System.EventArgs e)
                {
                        if (chkSameOutputFolder.Checked == true)
                        {
                                chkSameOutputFolder.Text = "Use &output folder as same add suffix";
                                chkSameOutputFolder.Width = 306;
                                chkSameOutputFolder.SendToBack();

                                txtOutputFolder.Text = txtWorkingFolder.Text;
                                txtOutputFolder.Enabled = false;
                                cmdBrowse3.Enabled = false;
                                txtSuffix.Visible = true;
                        }
                        else
                        {
                                chkSameOutputFolder.Text = "Use following &output folder and keep same file name(s)";
                                chkSameOutputFolder.Width = cmdMake.Width;
                                chkSameOutputFolder.BringToFront();

                                //txtOutputFolder.Text = regOutputFolder;
                                txtOutputFolder.Enabled = true;
                                cmdBrowse3.Enabled = true;
                                txtSuffix.Visible = false;
                        }
                }

                private void linkLabel2_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
                {
                        System.Diagnostics.Process.Start("mailto:" + linkLabel2.Text + "?subject=MarkMyImage@Codeproject.com");
                }

                private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
                {
                        System.Diagnostics.Process.Start(linkLabel1.Text);
                }

                private void linkLabel3_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
                {
                        System.Diagnostics.Process.Start("http://www.codeproject.com/csharp/watermark.asp");
                }

                private void chkPreview_CheckedChanged(object sender, System.EventArgs e)
                {
                        try
                        {
                                if (chkPreview.Checked == false)
                                        picSource.Image = null;
                                else
                                        picSource.Image = Image.FromFile(txtWorkingFolder.Text + lstFileList.SelectedItem.ToString().Substring(1));
                        }
                        catch{}
                }

                private void cmbImageType_SelectedIndexChanged(object sender, System.EventArgs e)
                {
                        GetFiles();
                }

                private void cmdBrowse3_Click(object sender, System.EventArgs e)
                {
                        string oldInputFolder;
                        try
                        {
                                if(txtOutputFolder.Text.Substring(0,1) == ".")
                                        oldInputFolder = txtOutputFolder.Text.Replace(".",AppDomain.CurrentDomain.BaseDirectory.Substring(0,AppDomain.CurrentDomain.BaseDirectory.Length - 1));
                                else
                                        oldInputFolder = txtOutputFolder.Text;
                                folderBrowserDialog1.SelectedPath = oldInputFolder;
                                //folderBrowserDialog1.RootFolder = System.Environment.SpecialFolder.Personal;
                        }
                        catch{}
                        try
                        {
                                if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
                                {
                                        if (txtWorkingFolder.Text == folderBrowserDialog1.SelectedPath)
                                                MessageBox.Show("Input and output folder can not be same",this.Text,MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                                        else
                                                txtOutputFolder.Text = folderBrowserDialog1.SelectedPath;
                                }
                        }
                        catch{}
                }
        /*
                private void SaveToRegistry()
                {
                        RegistryKey myKey = Registry.CurrentUser.CreateSubKey(RegKey);
                        myKey.SetValue("InputFolder",txtWorkingFolder.Text);
                        myKey.SetValue("OutputFolder",txtOutputFolder.Text);
                        myKey.SetValue("WaterMarkImage",txtWaterMarkImage.Text);
                }
                private void GetFromRegistry()
                {
                        try
                        {
                                RegistryKey mykey = Registry.CurrentUser.OpenSubKey(RegKey);
                                regInputFolder = mykey.GetValue("InputFolder").ToString();
                                regOutputFolder = mykey.GetValue("OutputFolder").ToString();
                                regWaterMarkImage = mykey.GetValue("WaterMarkImage").ToString();
                        }
                        catch
                        {
                                MessageBox.Show(this.Text + " is not installed properly, or it corrupt. Please re-install and try again.",this.Text,MessageBoxButtons.OK,MessageBoxIcon.Stop);
                                Application.Exit();
                        }
                }
        */
                private void frmMain_Closed(object sender, System.EventArgs e)
                {
                        //SaveToRegistry();
                }

                private void cmdBrowse2_Click(object sender, System.EventArgs e)
                {
                        openFileDialog1.Filter = "All Picture Files|*.jpg;*.bmp|JPEG(*.JPEG,*JPG)|*.jpg;*.jpeg|Bitmap Files(*.BMP)|*.bmp|All Files|*.*";
                        if (openFileDialog1.ShowDialog() == DialogResult.OK)
                        {
                                txtWaterMarkImage.Text = openFileDialog1.FileName;
                                picWaterMark.Image = Image.FromFile(txtWaterMarkImage.Text);
                        }

                }

                private void setWMProperties()
                {
                        pt.CopyrightText = txtCopyRight.Text;

                        if (chkWaterMarkImage.Checked == true)
                        {
                                pt.CopyrightImage = picWaterMark.Image ;
                        }
                        propertyGrid1.SelectedObject = pt;
                }

                private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
                {
                        if (tabControl1.SelectedIndex == 1) setWMProperties();
                }
        }
}

You will find his homepage here (http://b.domaindlx.com/bigd)

People want something to happen. And me too.
So I made the MP3 player. And it really can play MP3.
With the “MediaElement”, you can play video files too.

mp3_test.jpg (17 KB)

“MainPage.xaml” looks like this.

<UserControl x:Class="MP3MediaTest.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
  <Grid x:Name="LayoutRoot">
        <StackPanel>
            <MediaElement AutoPlay="False" x:Name="myMP3" Source="Etudo.mp3" />
            <TextBlock FontSize="20" x:Name="myStatus" />
            <StackPanel Orientation="Horizontal">
                <Button x:Name="myPlayButton" Width="100" Content="Play" Click="OnPlay" />
                <Button x:Name="myPauseButton" Width="100" Content="Pause" Click="OnPause" />
                <Button x:Name="myStopButton" Width="100" Content="Stop" Click="OnStop" />
            </StackPanel>
        </StackPanel>
    </Grid>
</UserControl>

And “MainPage.xaml.cs” looks like this.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace MP3MediaTest
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
            this.myMP3.CurrentStateChanged += new RoutedEventHandler(OnCurrentStateChanged);
        }

        void OnCurrentStateChanged(object sender, RoutedEventArgs e)
        {
            bool isPlaying = (this.myMP3.CurrentState == MediaElementState.Playing);
            this.myPauseButton.IsEnabled = isPlaying && this.myMP3.CanPause;
            this.myPlayButton.IsEnabled = !isPlaying;
            this.myStatus.Text = this.myMP3.CurrentState.ToString() + " - " + this.myMP3.Source.ToString();
        }

        private void OnPlay(object sender, RoutedEventArgs e)
        {
            this.myMP3.Play();
        }

        private void OnPause(object sender, RoutedEventArgs e)
        {
            this.myMP3.Pause();
        }

        private void OnStop(object sender, RoutedEventArgs e)
        {
            this.myMP3.Stop();
        }
    }
}

I made a file splitter program with CSharp.

filesplitter.jpg (21 KB)

It’s actually not my originals, I just changed appearance.
It uses .NET Framework and weighs only 55 Kb. But I made the icon and it weighs 107 Kb. So the program weighing 162 Kb.
This program is not worth publishing here because it is not my original. If you want, you can find the source code on the web. There are quite many. I just want to say that I have learned of it.
I learned like this:
I sometimes find files named some_file.zip.001, some_file.zip.002… on the Internet. Then I must have file splitter (or file joiner) program to re-join them. In this case some_file.zip is the result.

My File Splitter uses the Windows Shell function “Copy” to recreate the original file.
In this case:

copy/b "some_file.zip.001" + "some_file.zip.002" "some_file.zip"

Save it as batch file and double click it.
Voilà!
I understand that people may use a similar method.
The next time when I find splitted files, I do not need to seek a re-join tool on my computer, but write shell command.