C#小筆記

孤城壹人發表於2020-10-11

C#多執行緒的學習筆記
實現在跳轉到下一個介面的時候自動關閉當前介面:
form2 form = new form2();
form.Owner = this;
this.Hide();
form.ShowDialog();
Application.ExitThread();
Exit不僅關閉視窗還關閉其佔用的資源,而close則之關閉當前的視窗並不釋放資源,exitThread與exit區別在於後者是關閉所有的視窗一般用於最後

可以通過調整visible來實現同一個視窗之間不同介面的效果

為了實現在不同介面之間(子介面與父介面)的資料傳遞,可以宣告要傳遞的資料為public static
XXX

事件與委託的繫結與使用:
一共需要做三個準備步驟:
1.定義一個委託型別
public delegate void//此處型別 EventHandler();
2.定義一個事件源類
類裡面要有一個類屬性 public event EventHandler Check;
以及一個開始呼叫事件函式的一個成員函式

public void startPlay()
{
    Check?.Invoke();
}

3.定義事件發生時所需要執行的函式
這個函式直接寫即可
在發生事件的語句中例項化一個事件源類並且將例項化後的物件於事件函式相繫結而後開始呼叫
BigMoneyFetched check = new BigMoneyFetched();
check.Check += Checkmoney;
check.startPlay();

在對於C#的窗體介面進行程式設計的時候必須注意使每一個視窗的form程式碼在最上面不要再其之上寫函式或者類

檔案的建立
ingclude<windows.h>

void CreateFil(string str,const char* c)
{
	FILE *fp = NULL;const char*p = str.data();
	fopen_s(&fp,p,c);
	fprintf(fp, "寫入txt檔案\n");
	fclose(fp);
}

fopen函式第二個引數是新建檔案的位置,第三個引數是檔案的開啟模式w表示可寫可讀

C#中的讀寫檔案總結

檔案的刪除

LPCWSTR stringToLPCWSTR(std::string orig)
{
	wchar_t *wcstring = 0;
	try
	{		
		size_t origsize = orig.length() + 1;
		const size_t newsize = 100;
		size_t convertedChars = 0;
		if (orig == "")
		{
			wcstring = (wchar_t *)malloc(0);
			mbstowcs_s(&convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE);
		}
		else
		{
			wcstring = (wchar_t *)malloc(sizeof(wchar_t)*(orig.length() - 1));
			mbstowcs_s(&convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE);
		}
	}
	catch (std::exception e)
	{
	}
	return wcstring;
}
void  RmOrder(string str)
{
	DeleteFile(stringToLPCWSTR(str));//str是要刪除的檔案所在的位置(路徑+檔名)
}

相關文章