EditorFontData.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;

namespace Demo003
{
    
/// <summary>
    
/// 
    
/// </summary>

    public class EditorFontData:ConfigurationSection
    
{
        
/// <summary>
        
/// 
        
/// </summary>

        public EditorFontData()
        
{
        }


        
/// <summary>
        
/// 
        
/// </summary>

        ~EditorFontData()
        
{
        }


        
/// <summary>
        
/// 
        
/// </summary>

        [ConfigurationProperty("Name")]
        
public string Name
        
{
            
get
            
{
                
return Convert.ToString(this["Name"]);
            }

            
set
            
{
                
this["Name"= value;
            }

        }


        
/// <summary>
        
/// 
        
/// </summary>

        [ConfigurationProperty("Size")]
        
public double Size
        
{
            
get
            
{
                
return Convert.ToDouble(this["Size"]);
            }

            
set
            
{
                
this["Size"= value;
            }

        }


        
/// <summary>
        
/// 
        
/// </summary>

        [ConfigurationProperty("Style")]
        
public int Style
        
{
            
get
            
{
                
return Convert.ToInt32(this["Style"]);
            }

            
set
            
{
                
this["Style"= value;
            }

        }


        
/// <summary>
        
/// 
        
/// </summary>
        
/// <returns></returns>

        public override string ToString()
        
{
            StringBuilder sb 
= new StringBuilder();
            sb.AppendFormat(
"Name={0}; Size={1}; Style={2}", Name.ToString(), Size.ToString(), Style.ToString());
            
return sb.ToString();
        }

    }

}

App.config 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
<configSections>
    
<section name="EditorSettings" type="Demo003.EditorFontData, Demo003, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null" />
  
</configSections>
  
<EditorSettings Name="Verdana" Size="24" Style="2" />
</configuration>

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Configuration;

namespace Demo003
{
    
/// <summary>
    
/// 
    
/// </summary>

    public partial class Form1 : Form
    
{
        
/// <summary>
        
/// 
        
/// </summary>

        public Form1()
        
{
            InitializeComponent();
        }


        
/// <summary>
        
/// 
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>

        private void button1_Click(object sender, EventArgs e)
        
{
            
try
            
{
                EditorFontData aa 
= ConfigurationManager.GetSection("EditorSettings"as EditorFontData;
                MessageBox.Show(aa.ToString());
            }

            
catch (Exception Err)
            
{
                MessageBox.Show(Err.Message);
            }

        }


        
/// <summary>
        
/// 
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>

        private void button2_Click(object sender, EventArgs e)
        
{
            FontDialog fd 
= new FontDialog();
            EditorFontData aa 
= new EditorFontData();
            
if (fd.ShowDialog() == DialogResult.OK)
            
{
                aa.Name 
= fd.Font.Name;
                aa.Size 
= fd.Font.Size;
                aa.Style
=Convert.ToInt32(fd.Font.Style);

                Configuration config 
= ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                config.Sections.Remove(
"EditorSettings");
                config.Sections.Add(
"EditorSettings", aa);
                config.Save();
            }

        }

    }

}
posted on 2007-09-25 12:52  wkjs  阅读(165)  评论(0编辑  收藏  举报