最近打算模仿windows的字体设置界面 做一个字体设置的winform出来
不过想给它增添一个设置字体颜色的功能,苦于不知如何实现,
希望高手指点,小弟感激不仅……
(功能大致更word里设置字体那个界面里的颜色设置相似)

解决方案 »

  1.   

    richtextbox设置字体
    Font f=new Font("Verdana", 8F, FontStyle.Italic, GraphicsUnit.Point);
    string str="";
    if (richTextBox1.Find(str)>0)
    {
    int pos=richTextBox1.Find(str);
    richTextBox1.SelectionStart=pos;
    richTextBox1.SelectionLength=str.Length;   
    richTextBox1.SelectionFont=f;
    richTextBox1.SelectionColor=Color.Red;
    }   
      

  2.   


    不是这个意思,简单的说,就是实现像word的颜色设置功能。点击combox选择颜色,然后相应的文本的颜色也能随之改变,这个功能,呵呵……
      

  3.   

    private void Form1_Load(object sender, EventArgs e)
    {
                this.comboBox1.Items.Add("蓝色");
                this.comboBox1.Items.Add("红色");
                this.comboBox1.Items.Add("黄色");
    }private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
                if (comboBox1.Text == "蓝色")
                {
                    this.label1.BackColor = Color.Blue;
                }
                if (comboBox1.Text == "红色")
                {
                    this.label1.BackColor = Color.Red;
                }
                if (comboBox1.Text == "黄色")
                {
                    this.label1.BackColor = Color.Yellow;
                }

    不会是这个吧?
      

  4.   

    对,大致就是这个意思,不过我想把combox的下拉选项直接变成某一种颜色,这样更直观些,当然也更美观些,呵呵……
      

  5.   

    private void Form1_Load(object sender, EventArgs e)
    {
    this.comboBox1.Items.Add("蓝色");
    this.comboBox1.Items.Add("红色");
    this.comboBox1.Items.Add("黄色");
    }private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    if (comboBox1.Text == "蓝色")
    {
    this.label1.BackColor = Color.Blue;
    }
    if (comboBox1.Text == "红色")
    {
    this.label1.BackColor = Color.Red;
    }
    if (comboBox1.Text == "黄色")
    {
    this.label1.BackColor = Color.Yellow;
    }
    }
      

  6.   

                FontDialog fontDig = new FontDialog();
    然后设置
      

  7.   


    这个是现成用的,我要做的就是做出这个 FontDialog 来
      

  8.   

    乖乖,http://www.codeproject.com/KB/combobox/fontcombo.aspx
    这个链接看下是不是符合你的要求。
    如果是颜色方面的更多了貌似,colorpick..之类的
      

  9.   

    参考3楼
    combox里绑定数据
    this.comboBox1.Items.Add("■■■■■■");//红
    this.comboBox1.Items.Add("■■■■■■");//黄
    this.comboBox1.Items.Add("■■■■■■");//蓝
    combox_SelectIndexChange事件里
    if(comboBox1.SelectIndex==0)
    {
    combox.ForeColor=Color.Red;
    }
    ...省略
      

  10.   

    晕,怎么有间隙
    this.comboBox1.Items.Add("");//红
    只能直接设背景颜色了
    comboBox1.BackColor=Color.Red
      

  11.   

    按照你的逻辑,重写Combox的绘制方法就行了。ComboBox.DrawMode = OwnerDrawFixed;
    ComboBox.DrawItem += DrawItemEventHandler(DrawItem);void DrawItem(object o, DrawItemEventArgs e)
    {
       e.Graphics.FillRectangle(Colors.Blue,e.Bounds); //根据你的逻辑决定绘制的颜色
       e.Graphics.DrawString  //然后绘制文字
    }