求解
调用Datetimepicker控件的CalendarFont属性,设置日历的字体样式。
代码如下:        private void button1_Click(System.Object sender, System.EventArgs e)
        {
             FontDialog1.ShowColor = true;
            if (FontDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK)
            {
                DataTimePicker2.CalendarFont = FontDialog1.Font;
            }
        }
运行后程序错误:
   当前上下文中不存在名称“FontDialog1”,
   当前上下文中不存在名称“DataTimePicker2”
请问大神,错误是什么意思,是要定义变量吗?用public string 或者class 定义后还是错误。!!!控件错误:上下文不存在

解决方案 »

  1.   

    你这是 在网上直接贴上去的吧 ? 你的窗体中没有叫FontDialog1和DataTimePicker2的名字的控件。按照2楼说的 添加控件 如果窗体中有这两个控件  请检查他们的name属性 是否和你后台调用的名字一样(是否是FontDialog1和DataTimePicker2)
      

  2.   

    你也可以在代码中定义。对于 FontDialog1
    在 FontDialog1.ShowColor = true;前面加上
    FontDialog FontDialog1 = new FontDialog();
    就可以了。但是DataTimePicker2的定义相对复杂,因为这是一个可视的组件,你必须设置正确的尺寸、位置才能让用户看到。
      

  3.   

    控件开始就有一个Datetimepicker控件,现在又添加了一个FontDialog1控件,运行后还是有错误。
    这是完整的程序:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form{
            public Form1()
            { InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
            }
            private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
            {
            }
            private void button1_Click(System.Object sender, System.EventArgs e)
            {
                 fontDialog1.ShowColor = true;
                if (fontDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK)
                {
                    DataTimePicker1.CalendarFont = fontDialog1.Font;
                }
            }
            private void fontDialog1_Apply(object sender, EventArgs e)
            {
            }
        }
    }
      

  4.   

    if (fontDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK)
    =>
    if (fontDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)DateTimePicker1还是没有
      

  5.   

    运行出来了,再把语句if (fontDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK)中的赋值号=改成等号==就可以了。单击CalendarFont后可以更改日期字体格式了。