У меня подозрение, что вы просматриваете ваш созданный файл через просмоторщик, который не понимает UTF. Поэтому и вылазят кразозябры.
Если вам надо не в UTF, а к примеру в стандартной раскладке windows, то указывайте её через Encoding. К примеру так -
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
TextWriter tw = new StreamWriter("keypress.txt", true, Encoding.GetEncoding(1251));
tw.WriteLine(e.KeyChar);
tw.Close();
}