C\#간단 한 채 팅 창 구현
1.배 운 지식 을 사용 하 라
1.textBox 컨트롤
(1)기능:사용자 가 텍스트 를 입력 할 수 있 도록 하고 여러 줄 의 편집 과 암호 문자 마스크 기능 을 제공 합 니 다.
(2)오른쪽 에 있 는 속성 은 무엇 입 니까?
①Multiline
값 을 가 져 오 거나 설정 하 는 것 을 표시 합 니 다.이 값 은 여러 줄 의 textBox 컨트롤 인지 여 부 를 표시 합 니 다.
textBox2.Multiline = true;//텍스트 박스 2 를 여러 줄 로 표시 할 수 있 도록 설정 한 다 는 뜻 입 니 다.
②TabIndex
용기 에 컨트롤 을 가 져 오 거나 설정 하 는 Tab 키 순 서 를 표시 합 니 다.
textBox2.TabIndex = 0;//텍스트 박스 2 상자 에 커서 위치 지정
③Text
이 컨트롤 과 연 결 된 텍스트 를 가 져 오 거나 설정 하 는 것 을 표시 합 니 다.
TextBox 2.Text="이름";/textBox 에 표시 할 텍스트 설정
2.사건
① 키 다운 은 어떤 버튼 을 처음 눌 렀 을 때 발생 함
private void textBox2_KeyDown(object sender, KeyEventArgs e)// KeyDown textBox2
② e.KeyCode 는 키보드 코드 가 져 오기
e.KeyCode == Keys.Enter// Enter
③ AcceptButton 은 Enter 키 를 누 르 면 창 에 있 는 단 추 를 가 져 오 거나 설정 합 니 다.
this.AcceptButton = button2;// AcceptButton button2
3.버튼 컨트롤(1)기능:사용자 가 누 르 면 이벤트 가 발생 합 니 다.그것 은 버튼 이다.
(2)그것 은 어떤 속성 이 있 습 니까?
①Text
컨트롤 과 연 결 된 텍스트 가 져 오기
button1.Text = " ";// button1
② width 와 height컨트롤 의 너비 와 높이 를 표시 합 니 다.
button1.Width = 50;// button1 ( )
button1.Height = 30;// button1 ( )
③top컨트롤 상단 가장자리 와 용기 작업 영역 상단 가장자리 사이 의 거 리 를 표시 합 니 다.
button2.Top = button1.Top;// button1 。
4.설정 시간
DateTime.Now// DateTime , ,
//
DateTime ,
5、전의 문자\r"\r//표현 줄 바 꾸 기
채 팅 창 규칙
(1)두 개의 상자 로 구성 되 어 있 으 며,하 나 는 입력 하고 하 나 는 읽는다.
(2)두 개의 버튼 으로 발송 할 수 있 고 취소 할 수 있 으 며 발송 을 누 르 면 메 시 지 를 보 낼 수 있 습 니 다.취 소 를 누 르 면 보 낼 메 시 지 를 취소 할 수 있 습 니 다.
(3)리 턴 시 메시지 발송 가능
(4)사람 에 게 보 내 는 소식 에는 이름과 칭호 가 있다.
3.사상(분석)
(1)두 개의 입력 상 자 를 삽입 합 니 다.하 나 는 읽 을 수 있 고 하 나 는 메 시 지 를 쓸 수 있 습 니 다.
(2)아래 테두리 로 커서 위치 지정
(3)그리고 두 상자 의 너비 가 같 고 높이 가 같 지 않 습 니 다.
(4)아래 테두리 의 텍스트 를 위 테두리 에 보 낸 다음 메시지 없 음
(5)아래 테두리 로 커서 위치 지정
(6)발송 구조 최적화(인명,번호 와 칭호 와 시간)
(7)두 개의 단 추 를 추가 합 니 다.하 나 는 취소 이 고 하 나 는 발송 입 니 다.
(8)상단 에 보 낸 내용 을 보 내기 버튼 에 연결 하면 보 낼 수 있 습 니 다.
(9)Enter 를 누 르 면 발송 할 수 있 습 니 다.이벤트 연결 이 필요 합 니 다.
(10)커서 를 맨 왼쪽으로 이동
4.실제 조작
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
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Size = new Size(600, 400);
textBox1.Multiline = true;// textbox1
textBox1.Height = 200;//
textBox1.ReadOnly = true;//
textBox2.Multiline = true;// textbox2
textBox2.Height = 70;// textbox2 ( )
textBox2.Width = textBox1.Width;// textBox1.Width textBox2 textBox1
textBox2.TabIndex = 0; // textBox2
button1.Text = " ";// button1
button2.Text = " ";// button1
button1.Top = 320;// button1 , ( )
button1.Width = 50;// button1 ( )
button1.Height = 30;// button1 ( )
button2.Top = button1.Top;// button1 。
button2.Width = button1.Width;// button1
button2.Height = button1.Height;// button1
this.AcceptButton = button2;// AcceptButton button2 ,
}
private void button1_Click(object sender, EventArgs e)
{
textBox2.Text = "";//
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text+="【 】 (2024415986)"+DateTime.Now+"\r
"+"\r
"+textBox2.Text+"\r
";// textBox2.Text textBox1.Text,
//+ , \r
, DateTime.Now
textBox2.Text = "";// , textBox2
}
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
//KeyDown
// e
if (e.KeyCode == Keys.Enter)// Enter ,
{
textBox1.Text += "【 】 (2024415986)" + DateTime.Now + "\r
" + "\r
" + textBox2.Text + "\r
";// textBox2.Text textBox1.Text,
//+ , \r
, DateTime.Now
textBox2.Text = "";// , textBox2
}
}
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.