I don't prefix my types at all, I try to be as descriptive with my variable names as possible. For example
Code:
bool isAdmin;
int sumOfBillsPaid;
For method names, I use the following:
Code:
MyClass.MyMethod()
For controls in WinForms or ASP.NET:
Code:
TextBox tbUserName;
DropDownList ddlOptions;
CheckBox cbIsAdmin;
RadioButton rbGender;
ListBox lbxSelectedOptions;
CheckBoxList cblManyOptions;
RadioButtonList rblManyOptionsAlso;
GridView gvwMyGrid;
Button btnSubmit;
Label lblUserMessage;
I'll go even one further, with SQL Server:
Stored Procedures;
usp_TableName_NameOfStoredProc
Views:
vw_TableName_NameOfView or vwNameOfView (usually the first)
if abstraction is involved then:
vw_TableName_Lx_NameOfView (where Lx is a level: Level 0 -> Level n)
Reports:
usp_Reports_TableName_NameOfDataSourceOrReport
I adhere to these strict naming conventions and apply them everywhere.