惯例:先来张效果图看看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.Skins;
using DevExpress.XtraBars.Ribbon;
using DevExpress.XtraBars.Ribbon.Gallery;
using DevExpress.Utils.Drawing;
using DevExpress.Utils;
namespace chuXiangMemberManager
{
public partial class frmArticle : DevExpress.XtraBars.Ribbon.RibbonForm
{
chuXiangWebSiteManager.Dal.GoogleTranslate translate = new chuXiangWebSiteManager.Dal.GoogleTranslate();
public frmArticle()
{
InitializeComponent();
}
private void frmArticle_Load(object sender, EventArgs e)
{
foreach (SkinContainer cnt in SkinManager.Default.Skins)
{
SimpleButton imageButton = new SimpleButton();
imageButton.LookAndFeel.SetSkinStyle(cnt.SkinName);
GalleryItem gItem = new GalleryItem();
int groupIndex = 0;
//if (cnt.SkinName.IndexOf("Office") > -1) groupIndex = 1;
ribbonGalleryBarItem1.Gallery.Groups[groupIndex].Items.Add(gItem);
gItem.Caption = cnt.SkinName;
gItem.Image = GetSkinImage(imageButton, 32, 17, 2);
gItem.HoverImage = GetSkinImage(imageButton, 70, 36, 5);
gItem.Caption = cnt.SkinName;
gItem.Hint = cnt.SkinName;
//ribbonGalleryBarItem1.Gallery.Groups[1].Visible = false;
}
}
Bitmap GetSkinImage(SimpleButton button, int width, int height, int indent)
{
Bitmap image = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(image))
{
StyleObjectInfoArgs info = new StyleObjectInfoArgs(new GraphicsCache(g));
info.Bounds = new Rectangle(0, 0, width, height);
button.LookAndFeel.Painter.GroupPanel.DrawObject(info);
button.LookAndFeel.Painter.Border.DrawObject(info);
info.Bounds = new Rectangle(indent, indent, width - indent * 2, height - indent * 2);
button.LookAndFeel.Painter.Button.DrawObject(info);
}
return image;
}
private void barSamiler_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string html = memoHtml.SelectedText;
if (html.Trim() != "")
{
html = translate.TranslateChineseToEnglish(html);
memoHtml.SelectedText = html;
}
}
private void richEditControl1_SelectionChanged(object sender, EventArgs e)
{
}
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
memoSourceHtml.Text = richEditControl1.HtmlText;
}
private void barReplace_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
}
private void barTranslateChinese_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string html = memoHtml.SelectedText;
if (html.Trim() != "")
{
html = translate.TranslateEnglishToChinese(html);
memoHtml.SelectedText = html;
}
}
private void barTranslate2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
string html = memoHtml.SelectedText;
if (html.Trim() != "")
{
html = translate.TranslateChineseToEnglish(html);
html = translate.TranslateEnglishToChinese(html);
memoHtml.SelectedText = html;
}
}
private void barSort_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
}
private void barFenci_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
chuXiangFenCi.Segment.Init();
chuXiangFenCi.Segment segment = new chuXiangFenCi.Segment();
ICollection<PanGu.WordInfo> words = segment.DoSegment(memoHtml.Text);
List<chuXiangWords> list = new List<chuXiangWords>();
foreach (var item in words)
{
chuXiangWords model = new chuXiangWords();
model.sourceWord = item.Word;
model.check = false;
list.Add(model);
}
gridControl1.DataSource = list;
}
private void barButtonItem7_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
decimal p = chuXiangWebSiteManager.Dal.LevenshteinDistance.LevenshteinDistancePercent(memoHtml.Text, memoSourceHtml.Text);
barStaticItemSimaler.Caption = string.Format("相似度:{0}%", (int)(p * 100));
}
private void memoHtml_EditValueChanged(object sender, EventArgs e)
{
decimal p = chuXiangWebSiteManager.Dal.LevenshteinDistance.LevenshteinDistancePercent(memoHtml.Text, memoSourceHtml.Text);
barStaticItemSimaler.Caption = string.Format("相似度:{0}%", (int)(p * 100));
}
}
public class chuXiangWords
{
public bool check { get; set; }
public string sourceWord { get; set; }
public string oWord { get; set; }
}
}