[C# / VisualStudio] C#에서 Naver의 SmartEditor 사용 - 2. 화면 작업
2023. 7. 29. 08:58ㆍC#/공부
우선 게시글 목록 화면을 만들어보자.
na_list화면이다.
using System;
using System.Data;
using System.Windows.Forms;
using Oracle.ManagedDataAccess.Client;
namespace TextEditor_na_sm
{
public partial class na_list : Form
{
OracleConnection conn;
public na_list()
{
InitializeComponent();
}
private void na_list_Load(object sender, EventArgs e)
{
//ReoGrid 설정
spread1.CurrentWorksheet.SetRows(10);
spread1.CurrentWorksheet.SetCols(2);
spread1.CurrentWorksheet.ColumnHeaders[0].Text = "번호";
spread1.CurrentWorksheet.ColumnHeaders[1].Text = "글 제목";
ShowList(); //view
}
public void ShowList()
{
try
{
C_na c_na = new C_na();
DataSet ds = c_na.VIEW("");
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
spread1.CurrentWorksheet[i, 0] = ds.Tables[0].Rows[i]["ARTICLENUM"];
spread1.CurrentWorksheet[i, 1] = ds.Tables[0].Rows[i]["TITLE"];
}
}
spread1.CurrentWorksheet.AutoFitColumnWidth(1, false);
spread1.CurrentWorksheet.AutoFitRowHeight(0, false);
spread1.CurrentWorksheet.AutoFitRowHeight(1, false);
}
catch (Exception e)
{
}
}
private void reoGridControl1_DoubleClick(object sender, EventArgs e) //double Click시 게시글이 뜨게
{
string num = spread1.CurrentWorksheet.GetCell(spread1.CurrentWorksheet.SelectionRange.Row, 0).Data.ToString();
//게시글 form 불러오는 작업
na_Form FrmVal = new na_Form(num);//게시글 num 넘겨주기
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == FrmVal.Name)
{
if (frm.WindowState == FormWindowState.Minimized) frm.WindowState = FormWindowState.Normal;
frm.Activate();
return;
}
}
FrmVal.Text = "게시글 보기";
FrmVal.MdiParent = this.MdiParent;
FrmVal.Show();
FrmVal.Activate();
}
private void button1_Click(object sender, EventArgs e) //작성 버튼을 눌렀을 시
{
na_Form FrmVal = new na_Form();
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == FrmVal.Name)
{
if (frm.WindowState == FormWindowState.Minimized) frm.WindowState = FormWindowState.Normal;
frm.Activate();
return;
}
}
FrmVal.Text = "게시글 작성";
FrmVal.MdiParent = this.MdiParent;
FrmVal.Show();
FrmVal.Activate();
}
}
}
다음은 na_Form화면이다.
na_Form의 경우에는 앞서 만들었던 na_control을 사용한다.
사용자 정의 컨트롤을 만들면 도구 상자에 컨트롤 생긴다. (안생길시 다시 빌드 후 프로젝트 껏다 키기)
그 컨트롤을 갖고와서 화면에 띄워주면 된다.
using System;
using System.Windows.Forms;
namespace TextEditor_na_sm
{
public partial class na_Form : Form
{
string num = "";
public na_Form()//게시글 작성으로 들어왔을 경우
{
InitializeComponent();
}
public na_Form(string num)//게시글 보기로 들어온 경우
{
InitializeComponent();
this.num = num;
}
private void na_WriteForm_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(num))//작성
{
na_control1.CreateEditor();
}
else//보기
{
na_control1.CreateEditor_bind(num);
button1.Visible = false;
}
}
private void button1_Click(object sender, EventArgs e)//저장버튼을 눌렀을 시
{
if (string.IsNullOrEmpty(textBox1.Text)) { MessageBox.Show("제목을 입력하세요."); return; }
na_control1.Save_btn(textBox1.Text);
}
}
}
컨트롤 부분보다 화면부분이 훨씬 쉽다.
이렇게 따라하면 naver의 smartEditor를 c#으로 쉽게 띄울 수 있다.
'C# > 공부' 카테고리의 다른 글
[C# / VisualStudio] C#에서 Naver의 SmartEditor 사용 - 1.컨트롤 작업 (0) | 2023.07.27 |
---|