소개
강의
수강평
- 아무것도 모르고 시작하는 C#
게시글
질문&답변
도구 상자에 항목이 없습니다.
안녕하세요!현재 코드 작성 화면에서 도구상자를 클릭한 것 같습니다. 코드 작성을 곳에서는 도구상자를 사용할 수 없습니다.솔루션 탐색기에서 만드신 form을 더블 클릭하면 디자이너 화면이 나옵니다.(보기>솔루션 탐색기를 사용하거나 Ctrl + Alt + L 을 선택해 Visual Studio 메뉴 모음에서 열 수 있습니다.)https://learn.microsoft.com/ko-kr/visualstudio/ide/use-solution-explorer?view=vs-2022 디자이너 화면에서 도구상자를 사용할 수 있습니다. (솔루션 탐색기에서 form1.cs를 더블클릭)(사진)혹시 해결이 안될 경우 알려주세요! 감사합니다.
- 0
- 1
- 946
질문&답변
form에 비트맵 이미지 추가
안녕하세요질문자님, 혹시 업로드 하신 이미지를 받아볼 수 있을까요? 이미지 크기가 궁금합니다.보통 이럴 경우 의심가는 부분이 있기는 합니다. 하지만 재현을 해야 질문자님에게 정확한 답변을 해드릴 수 가 있을 것 같습니다.테스트 코드(사진)테스트 이미지 사이즈(사진) 고맙습니다.박병욱 드림
- 0
- 1
- 454
질문&답변
m1 맥북 사용자라 tensorflow 패키지 설치가 어렵습니다
안녕하세요 저도 맥북 M1을 사용하고 있어서 venv환경에서도 tf 구성을 해보고 Docker에서도 해봤습니다. 하지만 numpy 등 버전 차이로 인해 호환이 안되는 부분과 설치가 진행되지 않는 라이브러리등 하나씩 뜯어가면서 작업하면 설치할 수 있지만 너무 귀찮고 번거롭습니다. brew에서 miniforge설치하셔서, 가상환경 만드신 다음, tf사용하세요 VS Code에서도 잘 작동하고, 좋습니다. M1 성능이 사실 이미지 처리에서 많이 빨라질 줄 알았는데 광고를 너무 잘한 것 같습니다...
- 1
- 2
- 1.2K
질문&답변
텍스트박스에 한계값을 주는법
안녕하세요 질문자님, 열심히 하는 모습이 보기 좋습니다. 먼저, 질문주신 부분에 대한 여러 방법 중 아래의 방법을 알려드리고자 합니다. 먼저 작업을 하고자 하는 TextBox를 선택 후 TextChanged라는 부분을 더블 클릭하여 TextChanged를 오버라이드 합니다. (사진) TextChanged는 입력한 값 또는 변경하는 값이 완료되었을 때 작동하는 역할을 합니다. (사진) 다음과 같이 코딩을 할 수 있을 것 같습니다. Convert.ToInt32를 통해 textBox_Front에 입력된 문자로 된 숫자 값을 Int32 형태의 정수 값으로 변경합니다. if문을 사용해 이 값이 2보다 클 경우 textBox_Front에 0을 다시 입력하고 메시지로 "2보다 큰 숫자는 입력할 수 없습니다."라고 표시합니다. 만약 2보다 작을 경우에는 if문에 걸리지 않고 통과하여 입력을 할 수 있습니다. 위의 작업을 통해 0부터 2까지만 입력할 수 있는 기능을 구현하였습니다. 개발에는 다양한 접근 방법이 있기 때문에 무엇이 정답이다라고 할 수는 없지만, 시스템에 오류가 안나고 구조적인 문제를 일으키지 않는 방식이라면 다 정답이라고 할 수 있습니다. 숙련도에 따라 코드가 고급스러워 지거나, 보다 섬세한 구성과 기능 구현을 할 수 있는 차이가 있는대요 예를 들면, 위의 예제에서 처럼 0으로 변환해주는 것이 아닌, 이전 값을 기억하여 if문에 걸렸을 경우 이전값으로 변환을 해주는 등의 작업을 추가로 할 수 있을 것 같습니다. 그리고 윈도우 폼을 사용하여 강의를 한 것은 UI가 직관적이고 쉽게 보면서 이해를 할 수 있기 때문이며, 윈도우 폼은 C#을 연습하는 정도로 사용하는 것을 추천 드립니다. 최근 개발 프로젝트 들은 윈도우 폼으로 진행하는 것이 거의 없기 때문입니다. 도움이 되셨으면 좋겠습니다. 응원합니다. 고맙습니다. 박병욱 드림
- 0
- 1
- 973
질문&답변
back, back 이해가 안됩니다
안녕하세요 질문자님, 모든 실력은 질문이 생기는 부분부터 시작합니다. 궁금하신 부분은 다음과 같이 이해에 도움을 드릴 수 있을 것 같습니다.! 설명이 조금 길 수도 있습니다. 제일 처음 값을 입력하게 되면 다음과 같습니다. (사진) 이해를 돕고자 문자에 인덱스(순번)을 표기하였습니다. (사진) 위의 이미지를 소스코드와 연결해서 보면 아래 그림과 같습니다. (사진) inputText변수에는 "궁금증을 풀어드립니다." 0부터 11까지의 인덱스를 가진 문자가 들어가있으며, front 에는 앞에서 제거할 문자열 인덱스 4, back에는 뒤에서 제거할 문자열 인덱스 5가 들어가 있습니다. (사진) Remove는 문자열을 제거해주는 함수로, 인덱스는 0부터 작동합니다. 위의 코드는 Remove를 사용하여 4자리 만큼 입력한 문자인 "궁금증을" 제거 하였습니다. 그러면 남은 문자는 다시 0부터 인덱스가 시작하여 아래의 모양이 됩니다. (사진) 이제 질문을 주신 back이 두번들어가는 부분에 대한 답변입니다. (사진) outputText에는 " 풀어드립니다."(공백도 한자리로 인식합니다.)가 들어가있습니다. Remove는 0부터 시작하고, 우리는 뒷자리만 자르고 싶습니다. 그럼 outputText의 문자가 몇글자가 들어있는지 알아야겠죠? 여기에서는 Length를 통해 문자의 갯수를 구했습니다. 위의 코드에서 outputText.Length는 8이 나오게 됩니다. (0부터 7까지 갯수를 구하면 8되니 우리가 생각한 대로 작동하고 있군요.) 그럼 8 - 5는 3이되고, Remove는 3부터 시작해서 5자리까지 문자를 제거하게 됩니다. Remove(3(시작 값), 5(제거할 문자열 수)) (사진) 문자열에 인덱스를 보면 이렇게 3부터 5자리까지인 7까지 문자를 제거합니다. 그럼 결과는 아래와 같이 공백을 포함한, " 풀어"가 남아있어야겠죠? (사진) 실행된 결과의 문자열을 보니 공백을 포함하여 의도했던대로 작동한 것을 확인할 수 있습니다. (사진) 한번에 이해가 안되더라도 천천히 하나씩 보시다보면, 어느순간 이해가 되니 궁금한 점이 있으면 남겨주시고 편하게 학습하시길 바랍니다. 고맙습니다. 박병욱 드림 :)
- 0
- 2
- 187
질문&답변
F7로 코드보기 이동이 안됩니다
엔터를 누른 것 처럼 작동하게 하려면 다음과 같이 처리하면 될 것 같습니다. (사진) 위의 이미지는 예시로, EnterNewMemoName이라는 받은 값을 보여주는 역할을 하는 Method를 작성 후 호출 하였습니다. 40번 라인의 MessageBox.Show(newMemoName); 부분을 질문자님께서 작성하신 (사진) 구문으로 대체하면 엔터와 버튼을 통해 같은 기능이 작동하도록 구성할 수 있습니다.
- 1
- 3
- 444
질문&답변
F7로 코드보기 이동이 안됩니다
비주얼스튜디오 2019 커뮤니티 버전에서 윈도우 폼 디자이너 화면에서 F7 단축키를 통해 해당 디자이너의 소스코드 페이지로 이동이 가능합니다. 이 부분은 비주얼 스튜디오 개인 환경설정에 따라 차이가 있을 수 있습니다. 해당 강의는 C#을 통해 프로그래밍언어가 무엇인지 실제 만드는 부분은 어떻게 하는지에 대해 쉽게 따라해보면서 만들고 대략적인 흐름을 배우는 입문자 눈높이에 맞춰진 강의로 질문해주신 부분에 상세한 설명은 오히려 이해를 더 어렵게 만들까 싶어 뺏던 부분이 질문자님에게는 혼돈을 줬던 부분 같으며 이 부분에 대해 사과드립니다. 혹시 궁금하신 부분이 있다면 질문에 어떤 부분이 상세히 알고 싶으신지 남겨주시면 제가 질문자님을 위해 따로 작성해서 남겨놓도록 하겠습니다.
- 1
- 3
- 444
질문&답변
UseSqlServer 오류
.Net core 3.1에서는 자동으로 설치되지 않는 것들이 있습니다. 패키지 관리자를 통해 수동으로 설치를 해야 합니다. Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Design Microsoft.EntityFrameworkCore.SqlServer dotnet-ef 또한 수동으로 설치를 하셔야 합니다.
- 0
- 5
- 786
질문&답변
UseMvc 안됨(core 3.0)
혹시 .Net core 3.1하시는 분들은 MVC설정 아래와 같이 하면 됩니다. ^_^ 해당 강의의 내용을 바탕으로한 소스코드는 아래와 같습니다. app.UseEndpoints(endpoints => { endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); });
- 0
- 4
- 267