I believe naming convention exist to ease the developer coding effort and helps in manageability. To my understand any name which is helpful in easy access should be followed.
I saw number of comments with different approach but the best i found in my projects are to prefix control's 1st three name. There are lots of reason behind following this approach.
- Intellisense would bring all same type together.
- Form property windows would also show all same control sorted
- On complex forms you can easily identify you are dealing with label or textbox (eg. lblAccounts and txtAccounts)
- A new user can easily deal with coding.
- Imagine I have accountLst, accountlbl, accounttxt, accountgrd, accountChk controls on same form.
While coding, a developer always knows he is accessing text box or label. Where as he is not clear with what name the other developer has used. So by just writing "lbl" intellisens would bring all the label list to choose, where is if you have used approach used in #5 then intellisense would bring all controls using acc. I rarely saw doing some loop with control name start with "account" or so. This means it would not help in any rare incident.
My bet is to do things which help in understanding code easily for other developer. Because as you grow up in your carrier, you would not always do coding, some other person would come and take your seat.
Choice is yours, which way you want!