2017년 3월 16일 목요일

c# 윈폼 Properties 속성값 저장 및 활용

private void SetProperties()
{
    Properties.Settings.Default.ServerUrl = txtServerUrl.Text.Trim();
    Properties.Settings.Default.LoginID = txtLoginID.Text.Trim();
    Properties.Settings.Default.LoginPW = txtLoginPW.Text.Trim();
    Properties.Settings.Default.Save();
}


private void GetProperties()
{
    txtServerUrl.Text = Properties.Settings.Default.ServerUrl;
    txtLoginID.Text = Properties.Settings.Default.LoginID;
    txtLoginPW.Text = Properties.Settings.Default.LoginPW;
}


가끔 윈폼 개발시 설정 값들을 유지 해야 할 필요가 있다.
이때 프로젝트의 목록의 Properties 에서 우측 마우스 클릭후 열기를 하고
열려진 페이지의 설정 부분에서 아래처럼 설정해서 위처럼 사용 하면 됨


참고로 위처럼 설정하면
실행파일쪽에 
프로젝트이름.vshost.exe.config 파일을 보면 xml 코드로 설정 내용이 들어 있음

c# Dictionary 정렬

C# Dictionary 정렬 하기
public class Game
{
    public String TeamName { get; set; }
    public DateTime StartTime { get; set; }
    public int Ticket { get; set; }
}

public void DictionarySort()
{
    Dictionary dicGame = new Dictionary();
    dicGame.Add(4, new Game { TeamName = "동부", Ticket = 30, StartTime = new DateTime(2017, 03, 17, 09, 0, 0) } );
    dicGame.Add(2, new Game { TeamName = "남부", Ticket = 20, StartTime = new DateTime(2017, 03, 17, 12, 0, 0) });
    dicGame.Add(3, new Game { TeamName = "서부", Ticket = 40, StartTime = new DateTime(2017, 03, 17, 15, 0, 0) });
    dicGame.Add(1, new Game { TeamName = "북부", Ticket = 10, StartTime = new DateTime(2017, 03, 17, 18, 0, 0) });

    var list = dicGame.Keys.ToList();
    foreach (var key in list)
    {
        Console.WriteLine("{0}: {1}", key, list[key]);
    }

    var items = from p in dicGame
                orderby p.Value ascending
                select p;
    foreach (KeyValuePair p in items)
    {
        Console.WriteLine("{0}: {1}", p.Key, p.Value.TeamName);
    }


    foreach (var item in dicGame.OrderBy(i => i.Value.StartTime))
    {
        //dicGame.OrderBy(i => i.Key)
        Console.WriteLine(item.Value.TeamName);
    }
}

c# 윈폼 웹브라우저 경고창 차단하기

private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    webBrowser1.ScriptErrorsSuppressed = true;
    if (e.Url.AbsoluteUri == webBrowser1.Url.AbsoluteUri)
    {
    }
}

위처럼 해서 안되면
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
        {
            HtmlElement he = webBrowser1.Document.GetElementsByTagName("head")[0];
            HtmlElement se = webBrowser1.Document.CreateElement("script");
            mshtml.IHTMLScriptElement element = (mshtml.IHTMLScriptElement)se.DomElement;
            string alertBlock = "window.alert = function () { }";
            element.text = alertBlock;
            he.AppendChild(se);
        }

2017년 3월 1일 수요일

php 배열 javascript 배열로 넘기기

<?php
$list =array(1,2,3,4,5);
?>
<script>
var arr1 = <?php echo  json_encode($list);?> ;
var arr2 = [<?php echo '"'.implode('","',  $list ).'"' ?>];

console.log(arr1);
console.log(arr2);
</script>


//  json_encode 함수 php5 부터 지원
//  json_encode() 함수 utf-8로 작동