There is nothing more tedious and frustrating than custom windows controls creation. There's a reason that 90% of developers when interviewed say they prefer back-end work to front-end work. I like to do front-end work, although most developers frown upon it, because in my experience the hardest question is ALWAYS "How should this thing work?". Too many projects I've seen have fired off from the starting like infrastructure and built robust technologies, only to later learn that it didn't serve the product's requirements well enough. It's the equivalent of building a computer to answer the question of life (42!) before you know what the question is. Making the app work properly once the important questions are answered, even on the back end, is usually pretty straight forward. I remind myself of this and that I by sentencing myself to tedium now, I get a large amount of control over the usability of my applications. Usually, this tedium is no problem for me. The notable exception to this is perfecting the behaviors of custom windows controls - it can be a serious pain in the ass.
I hate it. This is why you buy these goddamn things from russian coders or find them on codeproject. I've spent all freakin' day working on goddamned keyboard behaviors for an "intellisense-style" drop-down control that I was bequeathed from another developer and it's seriously pissing me off. I hit a bunch of keys, trying to break it, success, success, success, failure! Ack! Diagnose failure, fix, test. Fixed that, find that I broke something else! Ack!
I miss the C++ days when you could hack right into Windows itself, intercepting it's messages and doing what ever you want, sure you had more responsibility, but you had ultimate control. The "safety" of .NET is often offset by it's inflexibility. This doohickey seems to work great sometimes, but the .NET framework is returning some really weird responses to some of the keys I pushed. I've feel like I've been chasing my tail like a retarded beagle.
Worse, I'm now pretty sure that this is because the dude who created this FUBAR control overrode the wrong events from the base control and that's why my behaviors are wrong. Looks like I'll have to perform major surgery on it, rather than the ten-minute-fix I thought it would be. Thus, I will be going home tonight in defeat, rather than victorious. I fucking hate that.
I seriously need a beer. Think I'll go home and let the tastebuds ponder the Magic Hat Mystery Beer. I feel much better having vented this into the vastly spacious emptiness of internet. I have sounded my barbaric yawp into the void. Ahhhh....
No alarms and no surprises, please.