DragEnter 발생시에 Cursor 변경

        private void UserControlDrawingPaper_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None;
        }


 

 

DragDrop시에 파일 경로 가져오기

        private void UserControlDrawingPaper_DragDrop(object sender, DragEventArgs e)
        {
            string []datas = (string[])e.Data.GetData(DataFormats.FileDrop);
            LoadImage(datas[0].ToString());
        }


 

    class DoubleBufferingPanel:Panel
    {
        public DoubleBufferingPanel()
        {
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
        }
    }

'.Net > C#' 카테고리의 다른 글

C# Excel 범위로 데이터들 가져오기  (0) 2012.08.30
C# Serialize, Deserialize  (0) 2012.08.21
C# UserControl->UserControl 네이버 지식인 답변  (0) 2012.07.17
C# Thread Test Project  (0) 2012.07.11
C# Resources에서 이미지 가져오기  (0) 2012.07.09

VBScript의 Intellisense 기능 및 동적 코드 예제 MFC프로젝트 및 라이브러리입니다.

 

 

 

Embeddable script editor for MFC applications

 

원본 : http://www.codeproject.com/Articles/4552/Embeddable-script-editor-for-MFC-applications

 

VBScript Intellisense.zip

 

 

 

 

위의 이미지 처럼 프로그램 내에서 동적으로 Script 언어를

사용자에게 받아서 실행 시켜야 할 때가 있을 때 사용한다.

 

 

사용법

1. C# 프로젝트 생성

2. 참조 추가 COM

3. Microsoft Script Control 1.0 추가

 

 

4. MSScriptControl.ScriptControlClass 개체 생성하여 사용한다.

 

 

나머지 코드들은 첨부 파일에 첨부

(C# : AboutScriptControl.zip)

 

MFC 출처:

http://www.codeproject.com/Articles/2539/Adding-VBScript-and-JScript-support-in-your-C-appl

(MFC : ScriptDemo_demo.zip)

 

 

AboutScriptControl.zip

 

ScriptDemo_demo.zip

 

 

다중 복사 프로그램입니다.
 닷넷프레임워크2.0 기반입니다~~
실행 오류 나시는분은 닷넷프레임워크2.0 설치해주세요~

 

 

 



 

MultiCopy_Setup_v1.0.0.2.exe

 

 

 

기존 버젼 프로그램 기능

1. F1,F2,F3,F4를 이용해 복사

2. F5,F6,F7,F8을 이용해 붙여넣기

3. F12키를 이용해 일시정지

 

v1.0.0.2 프로그램 기능

1. 사용자가 복사 및 붙여넣기 키를 지정 기능 추가

(설정해 놓으 키로 다음에 프로그램 구동시 설정됩니다)

 

2. 다중 복사한 텍스트를 프로그램 로딩시 다시 사용하기 기능

(마지막으로 복사한 다중 복사 텍스트들을 프로그램 재시작시 사용 할 수 있습니다)

 

 

주의사항

작업하는 프로그램의 사용자가 지정한 단축키는 동작하지 않음

(단, Shift,Alt,Ctrl 등 조합키에 인한 동작은 가능)

 

 

 

프로그램 UI

 

 

 

 

프로그램 구동시 오른쪽 아래쪽에 트레이 아이콘으로 실행이 됩니다.

프로그램 구동시 시작이 된 상태이며

일시정지를 누르면 다중복사 키 입력 제한이 풀립니다.

일시정지의 단축키는 F12입니다.

종료는 프로그램 종료입니다.

 

문의 및 버그사항 댓글 달아 주시면 감사하겠습니다.

후킹 사용해보면서 만든 프로그램이라 부족한게 많을 것 같네요.

텍스트만 복사가능합니다.^^

'프로그램 > 다중복사' 카테고리의 다른 글

다중 복사 프로그램 v1.0.0.1  (0) 2012.07.02

질문

 

 

 

그림을 잘 파악하셔서 방법을 좀 알려주세요!!!!

단순 winform 에서 usercontrol 사용법은 파악했는데, usercontrol 내에서 usercontrol로 이동하는

방법은 찾아바도 잘 나오지 않아 못하고 있습니다.

 

단순 winform 에서는 판넬을 하나 올려서

panel.controls.add(usercontrol1); 하고 다른 usercontrol로 옮길땐

panel.controls.remove(usercontrol1);

panel.controls.add(usercontrol2); 하면 되는것 까진 알고 있습니다.

 

위 사항을 잘 보시고 알려주세요!!!!! 

 

 

 

답변

 

namespace AboutUserControl
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
            TestUserControl();
        }

        private void TestUserControl()
        {
            //UserControl1 Panel 컨트롤에 추가
            UserControl1 userControl1 = new UserControl1();
            this.panel.Controls.Add(userControl1);
            //

            //UserControl2 컨트롤을 추가하는 메서드 호출
            userControl1.AddUserControl2();
        }        
    }
}


 

 

namespace AboutUserControl
{
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// UserControl2를 생성하는 메서드
        /// </summary>
        internal void AddUserControl2()
        {
            UserControl2 userControl2 = new UserControl2();
            this.panel.Controls.Add(userControl2);
        }
    }
}


 

AboutUserControl.zip


 

'.Net > C#' 카테고리의 다른 글

C# Serialize, Deserialize  (0) 2012.08.21
C# DoubleBuffering (더블 버퍼링)  (0) 2012.08.07
C# Thread Test Project  (0) 2012.07.11
C# Resources에서 이미지 가져오기  (0) 2012.07.09
C# Image->Bitmap->Icon  (1) 2012.07.04

 

 

PowerPoint가 실행 되었는지 무한정 검사를 하고

PowerPoint의 SlideShow가 실행 되었는지 무한정 검사를하고

SlideShow가 종료 되었는지 무한정 검사

HowRunProcessCheck.zip

 

 

 

namespace HowRunProcessCheck
{
    class Program
    {
        /// <summary>
        /// PowerPoint MainWindowTitle명 (Office 2007)
        /// </summary>
        const string powerPointName = "Microsoft PowerPoint -";

        /// <summary>
        /// PowerPoint MainWindowTitle명 (Office 2007)
        /// </summary>
        const string slideName = "PowerPoint 슬라이드 쇼";

        /// <summary>
        /// PowerPoint
        /// </summary>
        Process powerPoint;

        /// <summary>
        /// PowerPoint Slide
        /// </summary>
        Process slide;

        static void Main(string[] args)
        {
            Program test = new Program();
            test.TestRunProcessCheck(); 
           
        }


        /// <summary>
        /// Test
        /// </summary>
        private void TestRunProcessCheck()
        {
            this.powerPoint = StartCheckProcess(powerPointName);
            Console.WriteLine("시작 {0}", this.powerPoint.MainWindowTitle);

            this.slide = StartCheckProcess(slideName);
            Console.WriteLine("시작 {0}", this.slide.MainWindowTitle);

            CheckAlive(this.slide);
            Console.WriteLine("종료 {0}", this.slide.MainWindowTitle);

            Console.ReadKey();
        }

        /// <summary>
        /// Process가 죽으면 Return
        /// </summary>
        /// <param name="pro"></param>
        private void CheckAlive(Process pro)
        {
            while (CheckProcess(pro.MainWindowTitle) != null)
            {
              
            }
        }

        /// <summary>
        /// MainWindowTitle이 title로 시작하는 Process 무한 검사
        /// </summary>
        /// <param name="title"></param>
        /// <returns></returns>
        private Process StartCheckProcess(string title)
        {
            while (true)
            {
                Process pro = CheckProcess(title);
                if (pro != null)
                {
                    return pro;
                }
                System.Threading.Thread.Sleep(1000);
            }
        }

        /// <summary>
        /// MainWindowTitle이 title로 시작하는 Process 검사
        /// </summary>
        /// <param name="title"></param>
        /// <returns></returns>
        private Process CheckProcess(string title)

        {
            Process[] processes = Process.GetProcesses();
            foreach (Process pro in processes)
            {
                if (pro.MainWindowTitle.StartsWith(title))
                {
                    return pro;
                }
            }
            return null;
        }

    }
}

7일간 무료

http://www.smartdraw.com/

 

 

 

 

 

'유용한 프로그램' 카테고리의 다른 글

토렌트3.0  (0) 2013.02.09
클래스 다이어그램 자동 생성 프로그램  (2) 2013.01.22
이미지 파일을 아이콘 파일로 변경  (0) 2012.08.09

아래의 항목 사용 예제

1. BackgroundWorker

2. 비동기 Delegate

3. Thread

4. ThreadPool

 

AboutThread.zip

'.Net > C#' 카테고리의 다른 글

C# Serialize, Deserialize  (0) 2012.08.21
C# DoubleBuffering (더블 버퍼링)  (0) 2012.08.07
C# UserControl->UserControl 네이버 지식인 답변  (0) 2012.07.17
C# Resources에서 이미지 가져오기  (0) 2012.07.09
C# Image->Bitmap->Icon  (1) 2012.07.04

+ Recent posts