C# frequently use code snippet


        // popup message modeless dialog
        static void PopUpMsg(string msg)
        {
            TextBox editBox = new TextBox();
            editBox.ReadOnly = true;
            editBox.Multiline = true;
            editBox.Dock = DockStyle.Fill;
            editBox.Text = msg;

            Form dlg = new Form();
            dlg.FormBorderStyle = FormBorderStyle.FixedSingle;
            dlg.Text = Application.ProductName;
            dlg.Controls.Add(editBox);
            dlg.Show();
        }


      // save control values on form close
        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            File.WriteAllLines(Path.ChangeExtension(Application.ExecutablePath, "formvalue.csv"),
                from c in this.Controls.OfType()
                where c is TextBox || c is DateTimePicker || c is CheckBox
                select string.Format("{0}={1}", c.Name, (c is CheckBox) ? (c as CheckBox).Checked.ToString() : c.Text)
                );

        }

        // load control values startup
        private void Form1_Load(object sender, EventArgs e)
        {
			if(File.Exists(Path.ChangeExtension(Application.ExecutablePath, "formvalue.csv")))
			{
				var cfgMap =
					(from line in File.ReadAllLines(Path.ChangeExtension(Application.ExecutablePath, "formvalue.csv"))
					 let tokens = line.Split('=')
					 select new { Key=tokens[0].Trim(), Value=tokens[1].Trim() }).
					 ToDictionary(kvp => kvp.Key, kvp => kvp.Value);


				Controls.Cast().ToList().ForEach(ctrl =>
				{
					if(cfgMap.ContainsKey(ctrl.Name))
					{
						if (ctrl is TextBox || ctrl is DateTimePicker)
							ctrl.Text = cfgMap[ctrl.Name];
						else if (ctrl is CheckBox)
							(ctrl as CheckBox).Checked = "true".Equals(cfgMap[ctrl.Name], StringComparison.OrdinalIgnoreCase);
					}
				});
			}
        }



// simple serialization example
namespace simple_serialize
{
    [Serializable]
    class MyObject
    {
        public string Name;
        public double Weight;
    }

    class Program
    {
        static void Main(string[] args)
        {
            MyObject obj = new MyObject();
            obj.Name = "David";
            obj.Weight = 60;

            string soapFName = "objects.soap";
            using(FileStream fs = File.Create(soapFName))
            {
                IFormatter fmt = new SoapFormatter();
                fmt.Serialize(fs, obj);
            }

            MyObject objLoad = null;
            using (FileStream fs = File.OpenRead(soapFName))
            {
                IFormatter fmt = new SoapFormatter();
                objLoad = (MyObject)fmt.Deserialize(fs);
            }

            if(objLoad != null)
            {
                Console.WriteLine("name = {0}, weight = {1}", objLoad.Name, objLoad.Weight);
            }

            Console.ReadLine();
        }
    }
}



你可能感兴趣的:(C#,c#,textbox,serialization,string,object,dialog)