반응형

string[] filename

 

#기존 코드

            for (int i = 0; i < filename.Length; i++)
            {
                DataSet _ds = GetData(filename[i]);
                _dt.Merge(_ds.Tables[0]);
            }

#병열화 코드

            Parallel.ForEach(filenamefile =>
            {
                DataSet _ds = GetData2(file);
                _dt.Merge(_ds.Tables[0]);
            });

 

기존코드에서 데이터를 처리할때 2시간 걸리던 동작이 병열처리로 30분으로 줄었다.

단점은 데이터를 병열로 처리하다보니 순서가 뒤죽박죽이 된다. 데이터의 순서가 중요한 경우

사용에 주의가 필요하다.

Parallel.For로도 사용할 수 있다.

반응형

반응형

#신기록

 

#기존

반응형

### 01. MDI Child Form Name으로 Form 활성화 ###

Form fm

Type t = Type.GetType("myApp.forms." + _name);
fm = Activator.CreateInstance(t) as Form;
fm.MdiParent = this;
fm.Show();

 

### 02.  다른 Form의 함수를 호출 ###

using System.Reflection;

 

Type t = fm.GetType();
MethodInfo minfo = t.GetMethod("ClearData", BindingFlags.Instance | BindingFlags.Public);
object[] prm = new object[1];
prm[0] = strParam;
minfo.Invoke(fm, prm);

 

※ 02. 참고 : https://amored8701.tistory.com/112

 

 

반응형

C# MDI form을 사용하다보면 child form의 icon이 아래와 같이 이상하게 나올때가 있다.

해결 방법은

1. MdiParent form의 속성에 MainMenuStrip를 연결한다.

2. MdiChild FormActivate에다음과 같이 코드를 추가한다.

                var bmp = new Bitmap(16, 16);
                using (var g = Graphics.FromImage(bmp))
                {
                    g.DrawImage(childForm.Icon.ToBitmap(), new Rectangle(0, 0, 16, 16));
                }
                var newIcon Icon.FromHandle(bmp.GetHicon());
                childForm.Icon = newIcon;

                childForm.Show();

 

※출처 : https://stackoverflow.com/questions/6119533/scaling-the-icon-used-by-a-maximised-mdi-child-in-the-parent-forms-menustrip

+ Recent posts