Computer/C#

VS에서 Windows Forms 앱 과 Windows Forms 앱(.NET Framework) 차이

"Windows Forms 앱"과 "Windows Forms 앱(.NET Framework)" 사이의 주된 차이점은 사용되는 .NET 플랫폼의 버전과 관련이 있습니다. 이 두 용어는 종종 혼용되어 사용되지만, 기술적으로는 다음과 같은 차이점이 있습니다: Windows Forms 앱(.NET Framework): 이것은 오리지널 .NET Framework를 기반으로 하는 Windows Forms 애플리케이션을 가리킵니다. .NET Framework는 Microsoft에 의해 개발된 소프트웨어 프레임워크로, Windows 운영 체제에서 주로 사용됩니다. 이 플랫폼은 Windows Forms를 포함한 여러 UI 프레임워크를 지원하며, 2002년부터 여러 버전이 출시되었습니다. .NET Framework 기반의..
Computer/C#

컴파일타임과 런타임 그리고 상수

C#은 컴파일타임 상수와 런타임상수 두 유형의 상수를 있습니다. 컴파일타임과 런타임은 서로 다르게 동작하기 때문에 적절하지 않은 상수 타입을 사용하면 상응하는 대가가 따릅니다. (허걱!) 컴파일타임 상수보다는 런타임 상수를 사용하라. 컴파일타임 상수가 약간 더 빠르긴 하지만 런타임 상수에 비해 유연성이 상당히 떨어진다. 컴파일타임 상수는 성능이 매우 중요하고 상수의 값이 절대로 바뀌지 않는 경우에만 제한적으로 사용하는 것이 좋다. 런타임 상수는 readonly 키워드를 사용하여 선언하고, 컴파일타임 상수는 const 키워드를 사용한다. 그럼? 런타임(Runtime)과 컴파일타임(Compiletime) 서로 다른 두 계층의 차이는? 런타임(Runtime)과 컴파일타임(Compiletime)은 소프트웨어 프..
Computer/C#

XML 포멧 Element 수정 및 생성

public bool XmlDataCheck(string strfilepath, string ElementID, string Value) { XmlDocument Dxml = new XmlDocument(); Dxml.Load(strfilepath); try { // Modbus 포트번호 XmlNode nodeModPort = Dxml.DocumentElement.SelectSingleNode("/profile/Preferences/" + ElementID); if (nodeModPort.Value != Value) { // 수정 nodeModPort.InnerText = Value; } Dxml.Save(strfilepath); return true; } catch(Exception e) { // 생성..
Computer/C#

시작 프로그램 등록

public Form1() { InitializeComponent(); btnAdd.Click += new EventHandler(btnAdd_Click); btnRemove.Click += new EventHandler(btnRemove_Click); } void btnAdd_Click(object sender, EventArgs e) {// 시작 프로그램 등록 try { // 시작프로그램 등록하는 레지스트리 string runKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; RegistryKey strUpKey = Registry.LocalMachine.OpenSubKey(runKey); if (strUpKey.GetValue("StartupTest"..
Computer/C#

DateTime

일정관리로 자주 사용하는데, 조금씩 헷갈리는 부분이 있어서 정리해둠. 둠둠둠둠 둠둠둠.! 그럼 시작! [System.Serializable] public struct DateTime : IComparable, IComparable, IConvertible, IEquatable, IFormattable, System.Runtime.Serialization.ISerializable DateTime 값 형식은 00:00:00 (자정), 01 년 1 월 1 일 Anno 기 (공통 연대)부터 11:59:59 P.M., 9999 년 12 월 31 일 까지의 값을 포함 하는 날짜 및 시간을 나타냅니다. DateTime.Now// {2020-04-23 오전 10:26:28} DateTime.Today// {2020-0..

DateTime

Computer/C#

[C#] 입력 다이얼로그 하드코딩 코드

프로그래밍을 하다 보면, 패스워드를 확인하거나, 단순하게 값을 입력받을 일이 많다. 매번 폼 또는 사용자 컨트롤 만들어서 사용하기도 귀찮고, 딱! 넣으면 딱! 추가되는 소스 하나 있으면 좋잖아~ 아래 소스를 네임스페이스 안으로 추가하면 기본적인 사용 준비가 끝난다. // ---------------------------- // 패스워드 또는 값 입력받기 툴 // ---------------------------- public static class Prompt { public static string ShowDialog(string text, string caption) { Form prompt = new Form() { Width = 260, Height = 170, FormBorderStyle = F..
Computer/C#

마우스 좌표 가져오기

스크린 기준 마우스 좌표 int X; int Y; // X 변수에 마우스 X 좌표 (스크린 기준) 대입 X = Control.MousePosition.X; // Y변수에 마우스 Y 좌표 (스크린 기준) 대입 Y = Control.MousePosition.Y; 특정 컨트롤 기준, 마우스 좌표 // 컨트롤 기준으로 마우스 좌표를 반환 PointToClient(new Point(Control.MousePosition.X, Control.MousePosition.Y));
Computer/C#

Higherbit, Lowbit 합치기

비트 합치기 모드버스 값 받아올때, 조금 빠르게 하고 싶어서 만듬. 다음에 그냥 복사해서 써야지! public int modbusMake32(ushort Higherbit, ushort Lowbit) { int result = Higherbit; result = (result
Computer/C#

[C#] serialPort, Delay

serialPort 리턴값 테스트 중 값을 보내고 아래 텍스트박스에 표시하는 중 바로 나타나지 않는 문제점이 있어서 딜레이가 필요했다. 대략 10ms 조금 부족하고 20ms 정도 딜레이를 주면 잘 되는것 같아 보였다. serialPort.Write 로 보내주고 딜레이! private static DateTime Delay(int MS) { DateTime ThisMoment = DateTime.Now; TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS); DateTime AfterWards = ThisMoment.Add(duration); while(AfterWards >= ThisMoment) { System.Windows.Forms.Application.DoEven..

[C#] serialPort, Delay

EIGHTBOX
EIGHTBOX
hwaya.

programmer

🌵나누고 싶은 이야기와 생활정보 : 소소한 행동에 감동하며 기뻐하고 하루하루에 감사하는 사람

Today Yesterday Total
최신글