반응형

C# 51

Xamarin AdMob 추가하기 (자마린 광고추가하기)

구글 AdMob에 가입하여 앱에서 앱추가 현재 앱의 ID 복사 AndroidManifest.xml 클릭 수정전 수정후 application 안에 아래 내용 추가 (android:value 에는 위의 앱 ID를 입력) 광고 단위 만들기 배너 선택 이름 입력 및 광고 단위 만들기 완료 광고 단위에서 광고 ID 복사 MarcTron.Admob 설치 MainPage에 원하는 위치에 광고 삽입 AdsId 에는 위에서 복사한 광고 ID 사용 xmlns:controls="clr-namespace:MarcTron.Plugin.Controls;assembly=Plugin.MtAdmob" 권한 추가 Properties 클릭 - Android 매니페스트에서 필수 권한 INTERNET 체크 추가된 광고 기타 Java.Lang..

C#/Xamarin 2022.02.23

C# Customize File Version (feat 파일버전을 날짜로)

현재 날짜와 시간으로 사용된 예제 컴파일시에 자동으로 파일버전을 증가하고 싶은데 기존의 형식이 마음에 들지 않을때 사용. 마지막 컴파일한 날짜와 시간을 사용. 파일 버전 : 2022년 1월 20일 16시 37분 # 적용방법 Assemblyinfo.cs 파일 삭제(Delete) 추가 새항목 Assembly.tt 추가된 Assembly.tt # 코드 내용 (Assembly.tt) using System.Reflection; [assembly: AssemblyVersion("...")] 이제 빌드 하시면 위 형식대로 파일버전이 입력됩니다. 여기까지 하면 초기에 한번은 파일이 생성되어 적용 되는데 이후에는 다시 생성되지 않습니다. 매번 코드를 생성하기 위해 프로퍼티 - 빌드 이벤트 - 빌드 이벤트 명령줄 대화상..

C# 2022.01.20

[NSIS] 프로그램 실행중일때는 확인 메시지후 종료하기

현재 설치하고자 하는 프로그램이 실행중일때에는 메시지를 띄어서 확인 시킨후 종료하기 Machine 프로그램이 종료되지 않은 상태로 인스톨 하여 뜬 메시지 창. 함수 Function CheckProcess FindWindow $0 "" "Machine" StrCmp $0 0 done MessageBox MB_OK "The program is running. Please close the program" Quit done: FunctionEnd wpf 프로그램 같은 경우에 class이름을 사용할수 없어서 타이틀 이름을 사용하기 위해 FindWindow를 위와 같이 사용 타이틀명은 SPY에서 봣을때 윈도우 캡션에 해당하며 윈도우 작업표시줄에서 해당 프로그램에 마우스를 가져다 놓으면 표시 됩니다. 사용 (섹션내..

C# 2022.01.19

[Azure DevOps] 작업영역 강제 제거하기

개발자 명령 프롬프트 실행 1. 작업 영역 확인 tf workspaces /collection:https:xxxx.visualstudio.com 입력 (xxxx에는 ID) workspace에 s 추가하여야 합니다. 2. 작업 영역 삭제 tf workspace /delete "WORKSPACENAME;PREVIOUSUSERACCOUNT" WORKSPACENAME (컴퓨터 이름) 입력하기 tf workspace /delete "LAPTOP-JA9RKFDQ;PREVIOUSUSERACCOUNT" 1번에서 확인한 컴퓨터 이름 넣어주기 PREVIOUSUSERACCOUNT (소유자) 입력하기 tf workspace /delete "LAPTOP-JA9RKFDQ;sheepone"

C# 2022.01.19

C# MultiMediaTimer 1ms 간격의 타이머 (멀티미디어타이머)

현재 타이머의 간격인 1ms와 출력창의 현재 시간과 옆의 간격 1ms (1ms 이상의 간격으로 이벤트를 발생시키고 싶을때 사용하시면 좋습니다) 필요한 파라미터로는 Interval 과 Resolution이 있습니다. Interval 은 최소 1ms로 타이머의 간격을 설정할 수 있고 Resolution은 작은값일수록 해상도가 높으며 0일때 최대의 해상도 입니다. 시스템의 부하를 줄이기 위해 Resolution을 최대한 큰값을 사용하라고 하네요. 내부적으로는 인터벌 설정시에 레졸루션이 더 크면 해당 인터벌의 값으로 레졸루션을 설정하게 되어 있습니다. (인터벌만 설정해 주시면 될거 같네요) 멀티미디어 클래스 public class MultimediaTimer : IDisposable { private bool ..

C# 2022.01.06

C# delegate 실 사용 예제 !!! (쓰레드에서 접근하는 UI 예제 포함)

Class내 Thread에서 Form에 현재 시간 전달 Class에서 Form을 접근해야 할때가 있는데 이럴때 delegate 대리자를 이용하여 호출할수 있다. delegate 선언을 한뒤에 이벤트를 delegate 형식으로 선언한뒤 해당 이벤트를 폼에서 연결 시켜 주면 된다. 예제 Class using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace WindowsFormsApp7 { class Class1 { //델리게이트 선언 public deleg..

C# 2021.12.23

C# 배열 초기화, 구조체 초기화

구조체 초기화 구조체 선언 public struct PainKiller{ public int iKiller1 ; public int iKiller2 ; } PainKiller struct_painkiller ; 초기화 테스트 listBox1.Items.Add("구조체 초기값"); listBox1.Items.Add(struct_painkiller.iKiller1.ToString()); listBox1.Items.Add(struct_painkiller.iKiller2.ToString()); struct_painkiller.iKiller1 = 11; struct_painkiller.iKiller2 = 12; listBox1.Items.Add("11,12 입력"); listBox1.Items.Add(struct..

C# 2021.12.16

런타임중에 XAML 로드하기 (Loading XAML at runtime)

런타임중에 XAML파일을 읽어와 해당 UI를 원하는 곳에 적용 1.MainWindow MainWindow.xaml Grid 하나에 이름을 넣어줍니다. MainWindow.xaml.cs public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); string directory = System.IO.Directory.GetParent(Environment.CurrentDirectory).ToString(); directory = System.IO.Directory.GetParent(directory).ToString(); //Add UserControl StreamReader sr = new StreamReade..

C#/WPF 2021.12.15

C# WPF 3D Button 꾸미기

C# WPF 3D Button 효과 UI에 조금 변화를 주고 싶어서 버튼에 그라데이션을 넣어 3D효과를 주었습니다. 일단 리소스에 스타일을 지정하여 통일되게 사용하게 되어 있으며 그라데이션 시작값과 끝값은 각 버튼마다 넣어주시면 됩니다. 버튼 진입시와 나올때는 스토리보드를 이용하여 불투명 효과를 주었습니다. 버튼내에 상부 1/3부분의 그라데이션을 조금더 수정하면 3D 효과를 더욱 극대화 할 수 있습니다. 이런식으로 변화되는데 저는 버튼이 너무 튀는 느낌이 싫어서 약간 연하게 쓰고 있습니다. 버튼들에 좌측으로 이미지나 해당 버튼을 나타내 주는 아이콘등을 넣어주면 더욱 좋습니다. 좌측에 아이콘 넣었을때 이미지 WPF xaml 부분 App.xaml Resources 부분 이부분은 기존에 언어 변환용으로 쓰고 ..

C#/WPF 2021.12.07