NEWS

[DEVEXPRESS] Hướng dẫn sử dụng Stub Glyphs và Behavior Manager làm hình icon winform

[DEVEXPRESS] Hướng dẫn sử dụng Stub Glyphs và Behavior Manager làm hình icon winform
Đăng bởi: Thảo Meo - Lượt xem: 3824 15:03:10, 15/09/2020C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẻ tiếp tục hướng dẫn các bạn cách sử dụng Stub Glyph Behavior trong Devexpress C# Winform.

[DEVEXPRESS] USING Stub Glyph Behavior In Devexpress C#

Stub Glyph Behavior có thể được sử dụng cho các loại control component trong Devexpress sau:

  • GridColumn
  • ImageComboBoxEdit
  • LayoutControlGroup
  • LayoutControlItem
  • XtraTabPage
  • TreeListColumn
  • ImageListBoxControl

Dưới đây là giao diện demo ứng dụng mình sử dụng với ImageComboxEdit.

Trong danh sách này, mình sẽ chứa các danh sách món ăn, và hình ảnh mình không có mình sẽ sử dụng Stub Glyph Behavior để tạo hình ảnh icon cho từng món ăn.

stub_glyph_icon_csharp

Cấu hình Stub Glyphs

Thuộc tính

Diễn Giải

StubGlyphOptions.CaseMode

 

  • UpperCase - tất cả ký hiệu icon đều được viết hoa
  • LowerCase - ký hiệu icon đều được viết thường
  • SentenceCase or Default - Viết hoa chữ cái đầu tiên, còn chữ sau viết thường

StubGlyphs - Case Mode

StubGlyphOptions.ColorMode

Chọn màu color cho Icon

StubGlyphs - Color Mode

StubGlyphOptions.CornerRadius

Chỉnh độ cong Radius cho icon

StubGlyphs - Corner Radius

StubGlyphOptions.Font

Chọn font chữ

StubGlyphs - Font Settings

StubGlyphOptions.HorizontalAlignment

StubGlyphOptions.VerticalAlignment

Canh lề chữ trong icon

StubGlyphs - Alignment

StubGlyphOptions.LetterCount

Cấu hình số ký tự xuất hiện: 1 hoặc 2 ký tự

StubGlyphs - Letter Count

StubGlyphOptions.Padding

Cấu hình khoảng cách padding

StubGlyphs - Padding

StubGlyphOptions.RandomizeColors

Cấu hình màu ngẫu nhiên Random

StubGlyphs - Random Colors

StubGlyphOptions.Type

Chọn kiểu hình icon là hình vuông hoặc hình tròn 

StubGlyphs - Type

 

Full source code C#:

using DevExpress.Utils.Behaviors;
using DevExpress.Utils.Drawing;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Behaviors;
using DevExpress.XtraEditors.Controls;
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;

namespace StubGlyphsDemo
{
    public partial class Form1 : DevExpress.XtraEditors.XtraForm
    {
        public Form1()
        {
            InitializeComponent();
            imageComboBoxEdit1.Properties.Items.AddRange(new ImageComboBoxItem[] {
            new ImageComboBoxItem("Hải sản xào"),
            new ImageComboBoxItem("Trâu xào thiên lý" ),
            new ImageComboBoxItem("Bia Tiger"),
            new ImageComboBoxItem("Vú dê nướng"),
            new ImageComboBoxItem("Lẩu dê tiềm thuốc bắc"),
            new ImageComboBoxItem("Bò nhúng giấm"),
            new ImageComboBoxItem("Dồi trường hấp" ),
            new ImageComboBoxItem("Cút chiên bơ"),
            new ImageComboBoxItem("Tôm nướng"),
            new ImageComboBoxItem("Vịt quay Bắc Kinh")});
             imageComboBoxEdit1.SelectedIndex = 1;
         
           

            //imageComboBoxEdit1.Properties.GlyphAlignment = DevExpress.Utils.HorzAlignment.Far;

        }

        private void textEdit1_EditValueChanged(object sender, EventArgs e)
        {
            if (textEdit1.Text.Length > 2) {
                if (checkEdit1.Checked)
                {
                    pictureEdit1.Image = GetImageFromName(textEdit1.Text, 256, 256, GlyphBackgroundType.Ellipse);
                }
                else
                {
                    pictureEdit1.Image = GetImageFromName(textEdit1.Text, 256, 256, GlyphBackgroundType.Rectangle);
                }
            }
            
           
        }

        Random random = new Random();
        public Image GetImageFromName(string name, int height, int width , GlyphBackgroundType type)
        {                   
            var color = String.Format("#{0:X6}", random.Next(0x1000000));
            var stubGlyphOptions = new StubGlyphOptions();
            stubGlyphOptions.CaseMode = GlyphTextCaseMode.UpperCase;
            stubGlyphOptions.LetterCount = GlyphTextSymbolCount.Two;
            stubGlyphOptions.CornerRadius = 10;
            stubGlyphOptions.Type = type;
            stubGlyphOptions.RandomizeColors = false;
            var b = new Bitmap(height, width);
            using (var g = Graphics.FromImage(b))
            {
                using (var cache = new GraphicsCache(g))
                {
                    GlyphPainter.Default.DrawGlyph(cache, stubGlyphOptions, name, new Rectangle(0, 0, height, width), ColorTranslator.FromHtml(color), Color.White);
                }
            }

            return b;
        }

        private void checkEdit1_CheckedChanged(object sender, EventArgs e)
        {
            textEdit1_EditValueChanged(null, null);
        }
    }
}

Thanks for watching!

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[DEVEXPRESS] Hướng dẫn sử dụng Stub Glyphs và Behavior Manager làm hình icon winform
Đăng bởi: Thảo Meo - Lượt xem: 3824 15:03:10, 15/09/2020C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.