Office中国论坛/Access中国论坛

标题: 【作业】03课-CA135B_Amas [打印本页]

作者: Amas    时间: 2014-3-20 16:55
标题: 【作业】03课-CA135B_Amas
本帖最后由 Amas 于 2014-3-20 16:58 编辑

作业目标:制作一个文档级功能,在输入日期时弹出日期选择窗口。
[attach]53628[/attach]


利用了Worksheet.SelectionChange事件 和 Win.Form的模态窗口属性

  1. using System;
  2. using System.Windows.Forms;
  3. using Excel = Microsoft.Office.Interop.Excel;


  4. namespace Lesson03_CA135B
  5. {

  6.     public partial class Sheet1
  7.     {


  8.         private DateForm dateForm;      //构造一个日期选择窗口

  9.         private void Sheet1_Startup(object sender, System.EventArgs e)
  10.         {

  11.             this.SelectionChange += Sheet1_SelectionChange;     //订阅事件

  12.         }


  13.         void Sheet1_SelectionChange(Excel.Range Target)
  14.         {

  15.             if (Target.Column == 1 && Target.Row != 1 && Target.Count == 1)     //判断当前活动单元格是否是A列,非第1行,且不多选
  16.             {
  17.                 if (dateForm == null || dateForm.IsDisposed)
  18.                 {
  19.                     dateForm = new DateForm();

  20.                     dateForm.ShowDialog();  //模态窗口显示

  21.                     Target.Value = DateForm.cDay;

  22.                 }

  23.             }
  24.             else
  25.             {
  26.                 if (dateForm != null)
  27.                 {
  28.                     dateForm.Dispose();
  29.                 }
  30.             }


  31.         }
复制代码

日期选择窗口代码
  1. namespace Lesson03_CA135B
  2. {

  3.     public partial class DateForm : Form
  4.     {
  5.         public static string cDay;
  6.         public DateForm()
  7.         {
  8.             InitializeComponent();
  9.         }

  10.         private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
  11.         {
  12.             cDay =Convert.ToString( dateTimePicker1.Value);
  13.         }


  14.     }
复制代码

因知识点不够,未实现窗口跟随单元格显示,还存在一些考虑不到的问题。只待以后慢慢修改、扩展。

[attach]53631[/attach]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3