Programming/c# & winform2020. 10. 26. 14:40

Screen.AllScreens.OrderBy() 를 통해

WorkingArea.X 값을 정렬하면 되긴 한데..

Screen[0] 으로 접근 가능한 순서가 아니게 되니 어떻게 해야 하려나..

 

원론적으로는

Screen.AllScreen[0].DeviceName 에 접근해서 다 잘라내고 숫자만 빼내 -1을 해주면 될 것 같긴한데..

 

일단 현재 모니터 순서

Screen.AllScreens 에서는 아래의 순서로 출력된다.

0 - 가장 오른쪽 (1920,0)

1 - 가장 왼쪽 (-1920,0)

2 - 중앙 (0,0)

 

private void Form1_Load ( object sender, EventArgs e )
{
    var parent = new FlowLayoutPanel() { Dock = DockStyle.Fill };            
    Controls.Add(parent);

    //Order by how they are laid out to the user
    var screens = Screen.AllScreens.OrderBy(s => s.WorkingArea.X).ToArray();

    foreach (var screen in screens)
    {
        var panel = new Panel() { Width = screen.Bounds.Width / 10, Height = screen.Bounds.Height / 10 };
        panel.BackColor = screen.Primary ? Color.Blue : Color.Silver;
                                
        panel.Controls.Add(new Label() { Text = screen.DeviceName });

        parent.Controls.Add(panel);
    };
}

[링크 : https://social.msdn.microsoft.com/Forums/en-US/048586a5-e04b-40d8-a2d6-4c903fbf9b1b/...]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.screen?view=netcore-3.1]

'Programming > c# & winform' 카테고리의 다른 글

c# 멀티 모티터 사용 시 스크린의 순서  (0) 2020.10.26
C# form 동적 컨트롤 생성  (0) 2020.10.26
c# print 하기  (0) 2020.10.19
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 26. 12:38

핵심(?)은 this.Controls.Add(ctrl);

 

[링크 : http://csharp.net-informations.com/gui/dynamic-controls-cs.htm]

[링크 : https://docs.microsoft.com/ko-kr/troubleshoot/dotnet/csharp/add-controls-to-windows-forms]

'Programming > c# & winform' 카테고리의 다른 글

c# 멀티 모티터 사용 시 스크린의 순서  (0) 2020.10.26
C# form 동적 컨트롤 생성  (0) 2020.10.26
c# print 하기  (0) 2020.10.19
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 19. 14:02

 

[링크 : https://stackoverflow.com/questions/6103705/]

[링크 : https://www.nuget.org/packages/PdfiumViewer/] apache 2.0 license

[링크 : https://www.nuget.org/packages/PdfiumViewer.Native.x86_64.v8-xfa/] apache 2.0 license

 

+

[링크 : https://stackoverflow.com/questions/48740924]

 

[링크 : https://stackoverflow.com/questions/57415902]

  [링크 : https://www.nuget.org/packages/HtmlConvert]

  [링크 : https://www.nuget.org/packages/DynamicPDF/]

    [링크 : www.dynamicpdf.com/Merge-PDF-.NET.aspx]

  [링크 : https://www.codeproject.com/Articles/28283/Simple-NET-PDF-Merger] ??

'Programming > c# & winform' 카테고리의 다른 글

c# 멀티 모티터 사용 시 스크린의 순서  (0) 2020.10.26
C# form 동적 컨트롤 생성  (0) 2020.10.26
c# print 하기  (0) 2020.10.19
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 19. 12:36

일단은 프린터 나열부터 시작

        private void button1_Click(object sender, EventArgs e)
        {
            PrintQueue printQueue = null;
            LocalPrintServer localPrintServer = new LocalPrintServer();
            PrintQueueCollection localPrinterCollection = localPrintServer.GetPrintQueues();

            //Console.WriteLine("These are your shared, local print queues:\n\n");

            foreach (PrintQueue printer in localPrinterCollection)
            {
                //Console.WriteLine("\tThe shared printer " + printer.Name + " is located at " + printer.Location + "\n");
                textBox1.Text += printer.Name + "@" + printer.Location + "\r\n";
            }
            //Console.WriteLine("Press enter to continue.");
            //Console.ReadLine();
            //System.Collections.IEnumerator localPrinterEnumerator = localPrinterCollection.GetEnumerator();

        }

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/desktop/wpf/advanced/how-to-enumerate-a-subset-of-print-queues?view=netframeworkdesktop-4.8]

'Programming > c# & winform' 카테고리의 다른 글

C# form 동적 컨트롤 생성  (0) 2020.10.26
c# print 하기  (0) 2020.10.19
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 15. 18:24

1번 디스플레이가 0번 스크린으로 인식된다.

 

this.Location = Screen.AllScreens[0].WorkingArea.Location;

[링크 : https://stackoverflow.com/questions/57288060/showing-winforms-on-dual-screen-setup]

 

 

+

물리적으로 가장 왼쪽 부터 하고 싶은 경우에는 어떻게 해야하려나...

'Programming > c# & winform' 카테고리의 다른 글

c# print 하기  (0) 2020.10.19
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
c# webBrowser css 적용하기...?  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 15. 18:23

속성에서 WindowState를

Normal에서 Maximized로 하면 전체 화면 모드로 된다.

 

[링크 : https://stackoverflow.com/questions/505167/]

[링크 : https://stackoverflow.com/questions/2272019/]

[링크 : https://outshine90.tistory.com/entry/폼-FullScreen]

Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 15. 17:31

InitializeComponent() 직후에 호출하니 안 먹네.. ㅠㅠ

 

Button.PerformClick()

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.button.performclick?view=netcore-3.1]

[링크 : https://iamadeveloper.tistory.com/180]

 

 

+

2020.10.19

번개모양을 누르면 Event로 바뀌는데 거기서 Load에 추가해주면 된다.

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.form.load?view=netcore-3.1]

[링크 : https://stackoverflow.com/questions/218732/how-do-i-execute-code-after-a-form-has-loaded]

 

+

다이얼로그 비어있는데 더블 클릭하니 Form1_load() 함수가 생기면서 Load 이벤트가 등록된다.

'Programming > c# & winform' 카테고리의 다른 글

c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
c# webBrowser css 적용하기...?  (0) 2020.10.15
c# webBrowser control/class IE 버전  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

  1. Zeliper

    폼자체의 이벤트인 load 이벤트에 넣어보세요

    2020.10.16 18:08 [ ADDR : EDIT/ DEL : REPLY ]
    • Form() 말고 form load가 따로 있나보네요? 감사합니다!

      2020.10.16 18:23 [ ADDR : EDIT/ DEL ]

Programming/c# & winform2020. 10. 15. 16:39

DOM을 이용해서 head 하위에 style element를 생성하고 박아 넣는것이 보이는데..

innerHTML 처럼 특정 element 안의 내용을 한번에 갈아치우는 것도 방법이 되려나?

 

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement styleEl = webBrowser1.Document.CreateElement("style");
IHTMLStyleElement element = (IHTMLStyleElement)styleEl.DomElement;
IHTMLStyleSheetElement styleSheet = element.styleSheet;
styleSheet.cssText = @"h1 { color: red }";
head.AppendChild(styleEl);

[링크 : https://stackoverflow.com/questions/5496549/how-to-inject-css-in-webbrowser-control]

[링크 : https://social.msdn.microsoft.com/Forums/vstudio/en-US/74e2a36a-a69b-4ea9-9242-d615968e3181/...al]

'Programming > c# & winform' 카테고리의 다른 글

c# dialog 전체화면  (0) 2020.10.15
c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
c# webBrowser css 적용하기...?  (0) 2020.10.15
c# webBrowser control/class IE 버전  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
c# 파일 읽어서 string에 넣기  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 15. 15:58

기본적으로 IE7으로 작동하기 때문에 css 등이 적용되지 않는 문제가 있다고 한다.

(구버전으로 맞추면 문제 될 건 없을수도 있지만)

 

[링크 : https://stackoverflow.com/questions/18576963/webbrowser-control-no-css-applied]

  [링크 : http://ssamlaeng.blogspot.com/2015/08/c-webbrowser-control-css.html]

  [링크 : https://www.pedautreppe.com/post/How-can-we-render-CSS3-in-a-WebBrowser-Control-.aspx]

 

win10에서 돌리니(2020년 9월 버전) 0x2710 / IE10으로 인식하는 것으로 보인다.

 

[링크 : https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)#browser-emulation]

[링크 : ]

[링크 : ]

'Programming > c# & winform' 카테고리의 다른 글

c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
c# webBrowser css 적용하기...?  (0) 2020.10.15
c# webBrowser control/class IE 버전  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
c# 파일 읽어서 string에 넣기  (0) 2020.10.15
csharp webbrowser ctrl  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 10. 15. 15:10

urlrewriter를 이용해서

로컬 파일 + 생성된 html 파일을 원하는대로 표기가 가능하다.

다만 webBrowser control 에서 f5 누르면 날아가버리니 키를 막아야 할 듯?

 

[링크 : https://www.cyotek.com/blog/writing-custom-markdig-extensions]

[링크 : https://github.com/arthurrump/MarkdigExtensions]

'Programming > c# & winform' 카테고리의 다른 글

c# webBrowser css 적용하기...?  (0) 2020.10.15
c# webBrowser control/class IE 버전  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
c# 파일 읽어서 string에 넣기  (0) 2020.10.15
csharp webbrowser ctrl  (0) 2020.10.15
markdown c#용 라이브러리  (0) 2020.10.15
Posted by 구차니

댓글을 달아 주세요