Files
lserp_cs_6.0/插件库/Lskj.Control/AttachControlEx.cs
T
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

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
}
}