ab56a9bcf7
SVN-Revision: r240
294 lines
9.7 KiB
C#
294 lines
9.7 KiB
C#
/***********************
|
|
* 说明:附件图样模版
|
|
* 创建人:龚宇超
|
|
* 创建日期: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
|
|
{
|
|
/// <summary>
|
|
/// 选中标记
|
|
/// </summary>
|
|
public bool Selected = false;
|
|
/// <summary>
|
|
/// 锁文件
|
|
/// </summary>
|
|
public bool Locked = false;
|
|
/// <summary>
|
|
/// 附件no
|
|
/// </summary>
|
|
public int FileNo = 0;
|
|
/// <summary>
|
|
/// 文件名称
|
|
/// </summary>
|
|
public string FileName;
|
|
/// <summary>
|
|
/// 菜单Id
|
|
/// </summary>
|
|
public string Spcino;
|
|
/// <summary>
|
|
/// 附件明细
|
|
/// </summary>
|
|
public DataRow FileDetial;
|
|
/// <summary>
|
|
/// 鼠标双击回调
|
|
/// </summary>
|
|
public event EventHandler OnMouseDoubleClickEvent;
|
|
/// <summary>
|
|
/// 单击回调
|
|
/// </summary>
|
|
public event EventHandler OnClickEvent;
|
|
/// <summary>
|
|
/// 清空所有选中
|
|
/// </summary>
|
|
public event EventHandler ClearAllSelectEvent;
|
|
/// <summary>
|
|
/// ctrl按下标记多选
|
|
/// </summary>
|
|
public static bool Ctrlflag = false;
|
|
|
|
public AttachControlEx()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
#region 附件单击
|
|
/// <summary>
|
|
/// <para>说明:附件单击</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
|
|
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 附件双击
|
|
/// <summary>
|
|
/// <para>说明:附件双击</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
/// <param name="sender">The source of the event.</param>
|
|
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
|
|
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 清空附件选中状态
|
|
/// <summary>
|
|
/// <para>说明:清空附件选中状态</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public static void ClearFilesSelect(AttachControlEx item)
|
|
{
|
|
item.BackColor = Color.White;
|
|
item.BorderStyle = BorderStyle.None;
|
|
item.Selected = false;
|
|
}
|
|
#endregion
|
|
#region 清空所有附件状态
|
|
/// <summary>
|
|
/// <para>说明:清空附件选中状态</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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 加载附件明细
|
|
/// <summary>
|
|
/// <para>说明:加载附件明细</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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 设置附件右键菜单
|
|
/// <summary>
|
|
/// <para>说明:设置附件右键菜单</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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 附件选中状态
|
|
/// <summary>
|
|
/// <para>说明:附件选中状态</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public void AttachControlSelect()
|
|
{
|
|
this.BorderStyle = BorderStyle.FixedSingle;
|
|
this.BackColor = ColorTranslator.FromHtml("#D7E3F1");
|
|
this.Selected = true;
|
|
}
|
|
#endregion
|
|
#region 设置附件label
|
|
/// <summary>
|
|
/// <para>说明:设置label</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public void SetAttachLabel(string filename)
|
|
{
|
|
this.label_fileName.Text = filename;
|
|
}
|
|
#endregion
|
|
#region 设置附件图片
|
|
/// <summary>
|
|
/// <para>说明:设置附件图片</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
public void SetAttachImage(Image fileImage)
|
|
{
|
|
this.picFile.Image = fileImage;
|
|
}
|
|
#endregion
|
|
#region 画锁
|
|
/// <summary>
|
|
/// <para>说明:画锁</para>
|
|
/// <para>创建人:龚宇超</para>
|
|
/// <para>创建日期:2018-02-08 </para>
|
|
/// <para>修改人:</para>
|
|
/// <para>修改日期:</para>
|
|
/// <para>修改备注:</para>
|
|
/// <para>版本:1.0</para>
|
|
/// </summary>
|
|
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
|
|
}
|
|
}
|