|
本帖最后由 Amas 于 2014-3-20 16:58 编辑
作业目标:制作一个文档级功能,在输入日期时弹出日期选择窗口。
利用了Worksheet.SelectionChange事件 和 Win.Form的模态窗口属性
- using System;
- using System.Windows.Forms;
- using Excel = Microsoft.Office.Interop.Excel;
- namespace Lesson03_CA135B
- {
- public partial class Sheet1
- {
- private DateForm dateForm; //构造一个日期选择窗口
- private void Sheet1_Startup(object sender, System.EventArgs e)
- {
- this.SelectionChange += Sheet1_SelectionChange; //订阅事件
- }
- void Sheet1_SelectionChange(Excel.Range Target)
- {
- if (Target.Column == 1 && Target.Row != 1 && Target.Count == 1) //判断当前活动单元格是否是A列,非第1行,且不多选
- {
- if (dateForm == null || dateForm.IsDisposed)
- {
- dateForm = new DateForm();
- dateForm.ShowDialog(); //模态窗口显示
- Target.Value = DateForm.cDay;
- }
- }
- else
- {
- if (dateForm != null)
- {
- dateForm.Dispose();
- }
- }
-
- }
复制代码
日期选择窗口代码
- namespace Lesson03_CA135B
- {
- public partial class DateForm : Form
- {
- public static string cDay;
- public DateForm()
- {
- InitializeComponent();
- }
- private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
- {
- cDay =Convert.ToString( dateTimePicker1.Value);
- }
- }
复制代码
因知识点不够,未实现窗口跟随单元格显示,还存在一些考虑不到的问题。只待以后慢慢修改、扩展。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|