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的模态窗口属性
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);
}
}
复制代码
因知识点不够,未实现窗口跟随单元格显示,还存在一些考虑不到的问题。只待以后慢慢修改、扩展。
[attach]53631[/attach]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3