본문 바로가기
C#

c# 할일 관리 프로그램(1)

by improve 2024. 2. 27.

oracle에서 테이블을 만들어 준다.

 

 

 

 

c#의 패키지는 이렇게 생성 하였습니다.

 

●MainForm

using mdiproject.todo;
using mdiproject.user;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace mdiproject
{
public partial class Form1 : Form
{
        public Form1()
    {
        InitializeComponent();
        this.IsMdiContainer = true; //이폼을 메인으로 한다.
    }

    private void 사용자관리ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        UserForm userForm = UserForm.getInstance();
        userForm.MdiParent = this; // 메인 안에 폼을 만든다.
        userForm.Show();
    }
    private void 할일관리ToolStripMenuItem_Click(object sender, EventArgs e)
    {

        TodoForm todoForm = TodoForm.getInstance();
        todoForm.MdiParent = this;// 메안 안에 폼을 만든다.
        todoForm.Show();
    }

    private void 종료ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Dispose();
    }


}
}

mdi를 사용해서 폼안에 폼을 만들어 보았습니다.

 

 

 

 

●UserForm

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace mdiproject.user
{
    public partial class UserForm : Form
    {
        private static UserForm instance = null;

        public static UserForm getInstance()
        {
            if (instance == null || instance.IsDisposed)
            {
                instance = new UserForm();
                return instance;
            }
            else
                return instance;
        }

        public UserForm()
        {
            InitializeComponent();
        }
    }
}

 

같은 창이 여러개 떠서 한개만 뜨게 했습니다.

 

 

●TodoForm

using mdiproject.user;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace mdiproject.todo
{
    public partial class TodoForm : Form
    {
        private static TodoForm instance = null;

        public static TodoForm getInstance()
        {
            if (instance == null || instance.IsDisposed)
            {
                instance = new TodoForm();
                return instance;
            }
            else
                return instance;
        }
        public TodoForm()
        {
            InitializeComponent();
        }
    }
}

 

똑같이 여러개의 창이 생기지 않게 만들었습니다.