using System;
|
using System.Collections.Generic;
|
using System.Drawing;
|
using System.Data;
|
using System.Linq;
|
using System.Text;
|
using System.Windows.Forms;
|
using DevExpress.XtraEditors;
|
using DevExpress.XtraBars.Docking2010;
|
|
namespace IStation.WinFrmUI
|
{
|
//拓展XtraEditors
|
static public class ExtendSpinEdit
|
{
|
public static double GetValue(this DevExpress.XtraEditors.SpinEdit editCtrl)
|
{
|
return Convert.ToDouble(editCtrl.Value);
|
}
|
|
public static void SetValue(this DevExpress.XtraEditors.SpinEdit editCtrl,double v)
|
{
|
editCtrl.Value = Convert.ToDecimal(v);
|
}
|
|
}
|
|
static public class ExtendCalcEdit
|
{
|
public static double GetValue(this DevExpress.XtraEditors.CalcEdit editCtrl)
|
{
|
return Convert.ToDouble(editCtrl.Value);
|
}
|
|
public static void SetValue(this DevExpress.XtraEditors.CalcEdit editCtrl, double v)
|
{
|
editCtrl.Value = Convert.ToDecimal(v);
|
}
|
}
|
|
public static class Extensions
|
{
|
|
|
/// <summary>
|
/// 转化为自定义字符串格式
|
/// </summary>
|
public static String ToCustomString(this DateTime dateTime)
|
{
|
return dateTime.ToString("yyyy-MM-dd HH:mm:ss");
|
}
|
|
|
|
/// <summary>
|
/// 设置当WindowsUIButtonPanel位于界面底部时的外观
|
/// </summary>
|
/// <param name="panel"></param>
|
public static void SetAppearanceAtBottom(this DevExpress.XtraBars.Docking2010.WindowsUIButtonPanel panel)
|
{
|
panel.UseButtonBackgroundImages = false;
|
//panel.BackColor = Color.FromArgb(63, 63, 63);
|
//panel.AppearanceButton.Hovered.ForeColor = Color.FromArgb(130, 130, 130);
|
//panel.AppearanceButton.Normal.ForeColor = Color.White;
|
//panel.AppearanceButton.Pressed.ForeColor = Color.FromArgb(159, 159, 159);
|
panel.ButtonInterval = 20;
|
panel.BackColor = Color.Transparent;
|
panel.AppearanceButton.Hovered.ForeColor = Color.FromArgb(0, 122, 204);
|
panel.AppearanceButton.Normal.ForeColor = Color.Black;
|
panel.AppearanceButton.Pressed.ForeColor = Color.Red;
|
|
}
|
|
/// <summary>
|
/// 金额转换成中文大写金额
|
/// </summary>
|
/// <param name="LowerMoney">eg:10.74</param>
|
/// <returns></returns>
|
public static string MoneyToUpper(string LowerMoney)
|
{
|
string functionReturnValue = null;
|
bool IsNegative = false; // 是否是负数
|
if (LowerMoney.Trim().Substring(0, 1) == "-")
|
{
|
// 是负数则先转为正数
|
LowerMoney = LowerMoney.Trim().Remove(0, 1);
|
IsNegative = true;
|
}
|
string strLower = null;
|
string strUpart = null;
|
string strUpper = null;
|
int iTemp = 0;
|
// 保留两位小数 123.489→123.49 123.4→123.4
|
LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();
|
if (LowerMoney.IndexOf(".") > 0)
|
{
|
if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2)
|
{
|
LowerMoney = LowerMoney + "0";
|
}
|
}
|
else
|
{
|
LowerMoney = LowerMoney + ".00";
|
}
|
strLower = LowerMoney;
|
iTemp = 1;
|
strUpper = "";
|
while (iTemp <= strLower.Length)
|
{
|
switch (strLower.Substring(strLower.Length - iTemp, 1))
|
{
|
case ".":
|
strUpart = "圆";
|
break;
|
case "0":
|
strUpart = "零";
|
break;
|
case "1":
|
strUpart = "壹";
|
break;
|
case "2":
|
strUpart = "贰";
|
break;
|
case "3":
|
strUpart = "叁";
|
break;
|
case "4":
|
strUpart = "肆";
|
break;
|
case "5":
|
strUpart = "伍";
|
break;
|
case "6":
|
strUpart = "陆";
|
break;
|
case "7":
|
strUpart = "柒";
|
break;
|
case "8":
|
strUpart = "捌";
|
break;
|
case "9":
|
strUpart = "玖";
|
break;
|
}
|
|
switch (iTemp)
|
{
|
case 1:
|
strUpart = strUpart + "分";
|
break;
|
case 2:
|
strUpart = strUpart + "角";
|
break;
|
case 3:
|
strUpart = strUpart + "";
|
break;
|
case 4:
|
strUpart = strUpart + "";
|
break;
|
case 5:
|
strUpart = strUpart + "拾";
|
break;
|
case 6:
|
strUpart = strUpart + "佰";
|
break;
|
case 7:
|
strUpart = strUpart + "仟";
|
break;
|
case 8:
|
strUpart = strUpart + "万";
|
break;
|
case 9:
|
strUpart = strUpart + "拾";
|
break;
|
case 10:
|
strUpart = strUpart + "佰";
|
break;
|
case 11:
|
strUpart = strUpart + "仟";
|
break;
|
case 12:
|
strUpart = strUpart + "亿";
|
break;
|
case 13:
|
strUpart = strUpart + "拾";
|
break;
|
case 14:
|
strUpart = strUpart + "佰";
|
break;
|
case 15:
|
strUpart = strUpart + "仟";
|
break;
|
case 16:
|
strUpart = strUpart + "万";
|
break;
|
default:
|
strUpart = strUpart + "";
|
break;
|
}
|
|
strUpper = strUpart + strUpper;
|
iTemp = iTemp + 1;
|
}
|
|
strUpper = strUpper.Replace("零拾", "零");
|
strUpper = strUpper.Replace("零佰", "零");
|
strUpper = strUpper.Replace("零仟", "零");
|
strUpper = strUpper.Replace("零零零", "零");
|
strUpper = strUpper.Replace("零零", "零");
|
strUpper = strUpper.Replace("零角零分", "整");
|
strUpper = strUpper.Replace("零分", "整");
|
strUpper = strUpper.Replace("零角", "零");
|
strUpper = strUpper.Replace("零亿零万零圆", "亿圆");
|
strUpper = strUpper.Replace("亿零万零圆", "亿圆");
|
strUpper = strUpper.Replace("零亿零万", "亿");
|
strUpper = strUpper.Replace("零万零圆", "万圆");
|
strUpper = strUpper.Replace("零亿", "亿");
|
strUpper = strUpper.Replace("零万", "万");
|
strUpper = strUpper.Replace("零圆", "圆");
|
strUpper = strUpper.Replace("零零", "零");
|
|
// 对壹圆以下的金额的处理
|
if (strUpper.Substring(0, 1) == "圆")
|
{
|
strUpper = strUpper.Substring(1, strUpper.Length - 1);
|
}
|
if (strUpper.Substring(0, 1) == "零")
|
{
|
strUpper = strUpper.Substring(1, strUpper.Length - 1);
|
}
|
if (strUpper.Substring(0, 1) == "角")
|
{
|
strUpper = strUpper.Substring(1, strUpper.Length - 1);
|
}
|
if (strUpper.Substring(0, 1) == "分")
|
{
|
strUpper = strUpper.Substring(1, strUpper.Length - 1);
|
}
|
if (strUpper.Substring(0, 1) == "整")
|
{
|
strUpper = "零圆整";
|
}
|
functionReturnValue = strUpper;
|
|
if (IsNegative == true)
|
{
|
return "负" + functionReturnValue;
|
}
|
else
|
{
|
return functionReturnValue;
|
}
|
}
|
|
|
}
|
}
|