C# frequently use code snippet
来源:互联网 发布:时间序列预测 java 编辑:程序博客网 时间:2024/05/21 07:06
// 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<Control>() 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<Control>().ToList<Control>().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 examplenamespace 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(); } }}