/***********************
* 说明:附件图样模版
* 创建人:龚宇超
* 创建日期:2018-03-01
* 修改人:
* 修改日期:
* 修改备注:
* 版本:1.0.0.0
***********************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Lskj.Model;
using Lskj.Control.Model;
using Lskj.Control.Properties;
using Lskj.Business;
using Lskj.Business.Impl;
namespace Lskj.Control
{
public partial class AttachControlEx : UserControl
{
///
/// 选中标记
///
public bool Selected = false;
///
/// 锁文件
///
public bool Locked = false;
///
/// 附件no
///
public int FileNo = 0;
///
/// 文件名称
///
public string FileName;
///
/// 菜单Id
///
public string Spcino;
///
/// 附件明细
///
public DataRow FileDetial;
///
/// 鼠标双击回调
///
public event EventHandler OnMouseDoubleClickEvent;
///
/// 单击回调
///
public event EventHandler OnClickEvent;
///
/// 清空所有选中
///
public event EventHandler ClearAllSelectEvent;
///
/// ctrl按下标记多选
///
public static bool Ctrlflag = false;
public AttachControlEx()
{
InitializeComponent();
}
#region 附件单击
///
/// 说明:附件单击
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void AttachControl_MouseClick(object sender, MouseEventArgs e)
{
try {
//左键单击
if (e.Button == MouseButtons.Left)
{ //清空所有状态验证
ClearAllFilesSelect(sender, e);
//选中
AttachControlSelect();
//加载明细
LoadDetail(sender, e);
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
}
#endregion
#region 附件双击
///
/// 说明:附件双击
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void AttachControl_MouseDoubleClick(object sender, MouseEventArgs e)
{
try {
if (e.Button == MouseButtons.Left && OnMouseDoubleClickEvent != null && this.FileNo == 0) OnMouseDoubleClickEvent(this, e);
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
}
#endregion
#region 清空附件选中状态
///
/// 说明:清空附件选中状态
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public static void ClearFilesSelect(AttachControlEx item)
{
item.BackColor = Color.White;
item.BorderStyle = BorderStyle.None;
item.Selected = false;
}
#endregion
#region 清空所有附件状态
///
/// 说明:清空附件选中状态
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public void ClearAllFilesSelect(object sender, EventArgs e)
{
try
{
if (ClearAllSelectEvent != null && !Ctrlflag) ClearAllSelectEvent(sender, e);
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
}
#endregion
#region 加载附件明细
///
/// 说明:加载附件明细
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public void LoadDetail(object sender, EventArgs e)
{
try {
if (OnClickEvent != null)
{
//加载明细
OnClickEvent(this, e);
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
}
#endregion
#region 设置附件右键菜单
///
/// 说明:设置附件右键菜单
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public static void SetAttachControlMenu(System.Windows.Forms.Control view, DataTable MenuList, DynamicModel model, EventHandler handler = null, MyControl control = null, ContextMenuStrip menu = null)
{
try {
BaseRightMenu rightMenu = new AttachViewMenuStrip();
rightMenu.InitRightMenus(view, MenuList, model, control, menu);
rightMenu.SetRightCallback(handler);
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show("设置附件右键菜单出错!" + Message);
}
}
#endregion
#region 附件选中状态
///
/// 说明:附件选中状态
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public void AttachControlSelect()
{
this.BorderStyle = BorderStyle.FixedSingle;
this.BackColor = ColorTranslator.FromHtml("#D7E3F1");
this.Selected = true;
}
#endregion
#region 设置附件label
///
/// 说明:设置label
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public void SetAttachLabel(string filename)
{
this.label_fileName.Text = filename;
}
#endregion
#region 设置附件图片
///
/// 说明:设置附件图片
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
public void SetAttachImage(Image fileImage)
{
this.picFile.Image = fileImage;
}
#endregion
#region 画锁
///
/// 说明:画锁
/// 创建人:龚宇超
/// 创建日期:2018-02-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void LockPaint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
if (Locked)
{
Image image = Resources.Locks;
g.DrawImage(image, new Point(20, 20));
}
}
#endregion
}
}