728x90
반응형
728x170
▶ MainForm.cs
using System.Drawing;
using DevExpress.Utils.Drawing;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : XtraForm
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 이미지 배열
/// </summary>
private Image[] imageArray;
/// <summary>
/// 현재 이미지 인덱스
/// </summary>
private int currentImageIndex = 0;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
this.imageArray = GetImageArray();
this.imageSlider.LayoutMode = ImageLayoutMode.MiddleCenter;
this.imageSlider.VirtualMode = true;
this.imageSlider.CanGetNextPrevImage += imageSlider_CanGetNextPrevImage;
this.imageSlider.GetImage += imageSlider_GetImage;
this.imageSlider.UpdateImage();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 이미지 슬라이더 다음/이전 이미지 획득 가능 여부 구하기 - imageSlider_CanGetNextPrevImage(sender, e)
/// <summary>
/// 이미지 슬라이더 다음/이전 이미지 획득 가능 여부 구하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void imageSlider_CanGetNextPrevImage(object sender, CanGetNextPrevImageEventArgs e)
{
if(e.IsNext)
{
e.CanGetImage = (currentImageIndex < imageArray.Length - 1);
}
else
{
e.CanGetImage = (currentImageIndex > 0);
}
}
#endregion
#region 이미지 슬라이더 이미지 획득시 처리하기 - imageSlider_GetImage(sender, e)
/// <summary>
/// 이미지 슬라이더 이미지 획득시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void imageSlider_GetImage(object sender, GetImageEventArgs e)
{
if(e.IsStartUp)
{
e.Image = imageArray[0];
return;
}
if(e.IsNext)
{
e.Image = imageArray[currentImageIndex + 1];
if(e.CurrentImageUpdated)
{
++currentImageIndex;
}
}
else if(e.IsPrev)
{
e.Image = imageArray[currentImageIndex - 1];
if(e.CurrentImageUpdated)
{
--currentImageIndex;
}
}
}
#endregion
//////////////////////////////////////////////////////////////////////////////// Function
#region 이미지 구하기 - GetImage(color)
/// <summary>
/// 이미지 구하기
/// </summary>
/// <param name="color">색상</param>
/// <returns>이미지</returns>
private Image GetImage(Color color)
{
Bitmap bitmap = new Bitmap(300, 300);
for(int i = 0; i < bitmap.Width; i++)
{
for(int j = 0; j < bitmap.Height; j++)
{
bitmap.SetPixel(i, j, color);
}
}
return bitmap;
}
#endregion
#region 이미지 배열 구하기 - GetImageArray()
/// <summary>
/// 이미지 배열 구하기
/// </summary>
/// <returns>이미지 배열</returns>
private Image[] GetImageArray()
{
return new Image[]
{
GetImage(Color.Red ),
GetImage(Color.Green),
GetImage(Color.Blue )
};
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WinForm' 카테고리의 다른 글
[DEVEXPRESS/WINFORM] LookUpEdit 클래스 : ProcessNewValue 이벤트를 사용해 데이터 소스에 사용자 입력 값 추가하기 (0) | 2020.02.22 |
---|---|
[DEVEXPRESS/WINFORM] PictureEdit 클래스 : 스크롤바 추가하기 (0) | 2020.02.22 |
[DEVEXPRESS/WINFORM] CameraControl 클래스 : 카메라 사용하기 (0) | 2020.02.22 |
[DEVEXPRESS/WINFORM] TokenEdit 클래스 : 복합 객체를 토큰 값으로 사용하기 (0) | 2020.02.22 |
[DEVEXPRESS/WINFORM] TokenEdit 클래스 : 커스텀 드롭 다운 사용하기 (0) | 2020.02.22 |
[DEVEXPRESS/WINFORM] RangeControl 클래스 : 숫자 범위 설정하기 (0) | 2020.02.22 |
[DEVEXPRESS/WINFORM] BreadCrumbEdit 클래스 : 버튼 추가하기 (0) | 2020.02.21 |
[DEVEXPRESS/WINFORM] BreadCrumbEdit 클래스 : 파일 탐색기 사용하기 (0) | 2020.02.21 |
[DEVEXPRESS/WINFORM] TokenEdit 클래스 : ValidateToken 이벤트를 사용해 입력 값 검증하기 (0) | 2020.02.19 |
[DEVEXPRESS/WINFORM] TokenEdit 클래스 : CustomDrawTokenGlyph 이벤트를 사용해 토큰 글리프 커스텀 그리기 (0) | 2020.02.19 |
댓글을 달아 주세요