Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "winforms"
Yeees! Got my contract for the time after my apprenticeship. 4 days/week and a shitload of 💰, from my point of view. 36k € per year.
Additionally I got the position I wanted, I'm responsible for the whole infrastructure and the conversion of our app from Winforms to WPF.
I'M HAPPY AS F*** xD22
My dad has an acquaintance - let's call him Tom. Tom is an gynecologist, one of the best in Poznań, where I live. He's a great guy but absolutely can not into tech of any kind besides his iPhone and basic PC usage. For about a year now I've been doing small jobs for him - build a new PC for his office, fix printer, fix wifi, etc. He has made a big mistake few years ago by trusting a guy, let's call him Shitface, with crating him software for work. It's supposed to be pretty simple piece of code in which you can create and modify patient file, create prescription from drugs database and such things. This program is probably one of the worst pierces of code I've ever seen and Shitface should burn for that. Worse, this guy is pretentious asshole lacking even basic IT knowledge. His code is garbage and it's taking him few months to make small changes like text wrapping. But wait, there's more. Everything is hardcoded so every PC using this software must have installed user controls for which he doesn't have license and static IP address on network card.
Tom asked me to build him a new PC that will be acting like a server for Shitface's program. He needs it in Kalisz (around 150 km from my place). I Agred (pun intended) and after Tom brought me his old computer I've bought parts and built a new one. I have also copied everything of value and everything took me around three hours.
Everything was ready but Shitface's program. I didn't know much about it's configuration so when I've noticed that it's not working even on the old PC I got a bit worried. Nevertheless I started breaking everything I know about it and after next three hours I've got it somewhat working. Seeing that there's still some problems with database connection (from Windows' Event Viewer) I wrote quick SMS to Shitface asking what can be wrong. He replied that he won't be able to help me any way until Monday (day after deadline). I got pissed and very courteously asked him for source code because some of libraries used in this project has license that requires either purchase of commercial license or making code open source. He replied within few minutes that he'll be able to connect remotely within next 10 minutes. He was trying to make it work for the next hour but he succeeded. It was night before deadline so I wrapped everything up and went to bed thinking that it won't take me more than an hour to get this new PC up and running in the office. Boy was I wrong.
Also, curious about his code, I've checked source and he is using beautiful ponglish (mixed Polish and English) with mistakes he couldn't even bother to fix. For people from Poland, here's an example:
So I drove to Kalisz and started working on making everything work. Almost everything was ready so after half an hour I was done. But I wanted to check twice if it's all good because driving so far second time would be a pain. So I started up Shitface's program, logged in, tried to open ANYTHING and... KABUM. UNHANDLED EXCEPTION. WTF. I checked trace and for fuck sake something was missing. Keep in mind that then I didn't know he's using some third party control for Windows Forms that needs to be installed on client PC. After next fifteen minutes of googling I've found a solution. I just had to install this third party software and everything will work. But... It had to be exactly this version and it was old. Very old. So old that producent already removed all traces of its existence from their web page and I couldn't find it anywhere. I tried installing never version and copying files from old PC but it didn't work. After few hours of searching for a solution I called Mr Shitface asking him for this control installation file. He told me that he has it but will be able to send it my way in the evening. Resigned I asked for this new PC to be left turned on and drove home. When he sent me necessary files I remotely installed them and everything started working correctly.
So, to sum it up. Searching for parts and building new PC, installing OS and all necessary software, updating everything and configuring it for Tom taste took me around what, 1/3 of time I spent on installing Mr Shitface's stupid program which Tom is not even happy with. Gotta say it was one of worst experiences I had in recent months. Hope I won't have to see this shit again.
Fortunately everything seems to work correctly. Tom hasn't called me yet with any problems. Mission accomplished. I wanna kill very specific someone. With. A. Spoon.1
My 14 year old self stared at Chrome and decided to consult Google on a random fleeting thought...
"How is software made?"
The search resulted in my downloading Visual Studio. Without any understanding of what it was or how it worked I somehow managed to create a new Winforms project.
I started to drag controls from the ToolBox onto the form, and I specifically recall thinking "Wow! This is easy.". Little did I know...
I then inadvertently double clicked either a control or the form which as most will know switches from the designer view to the code editor taking you to the code that drives the form.
"What the hell is this?"
I had absolutely no idea what I was looking at, but decided I was determined to understand what all of that random text did.
So, yeah, my first dev project was a Winforms App consisting of a single button that did absolutely nothing, but yet happens to be the most important app I have ever created.
To think I'd be working in an entirely different sector if it wasn't for that one Google search.4
I’m a backend guy.
But because of reasons I’m editing a winforms json settings editor.
There has to be another way.2
Last year the rewrite of an ancient system (VB6/mainframe COBOL) was started. Instead of moving to modern architecture management decided to rewrite the app's functionality into our last gen WinForms client/server arch. I set up a meeting to present alternatives and plead for some level of modernization. After presenting and asking management to plan for five to ten years in the future instead of just this year's budget my director said, "In five to ten years I'll be retired on a beach in Tahiti and this will be your problem to solve." It was the last straw and I left the company shortly after. Last week I found out the director was force retired out of the company. I sent her a congratulations slip and a cocktail umbrella with "Tahiti" written on it.2
I usually start on stuff but get about 90-95% done and find that last 5-10% requires as much (time|energy) as the rest of the project.
Bloatware removal script in powershell for factory imaged systems currently.
Nearing completion now but always a few more features and testing rounds to go...
Working gui now but getting good UX takes time with winforms.3
One thing I hate about WinForms:
"do not modify the contents of this method with the code editor."
How the phook do I add eventhandlers without adding them in the code? By some mysterious ways in the so called "designer"? Click and drag? Wearing a tie and talking to the computer? Making a phone call to Microsoft? Immersing into VR and ordering an event handler from a virtual store?
No, I've always just typed whatever I want to achieve and I'm going to do so whatever those know-it-all comments say in the auto-generated code.
You can call me a conservative old fart, but nothing beats writing my own code.6
I can't understand the people who are in love with Qt. Did you ever actually use it?
It has shitty UI components (compare them with Microsoft WPF or even WinForms), and it is fucking full of bugs. Really. I've never seen that many bugs in other frameworks.
I'm a Linux guy, but try .net if you want to see what a great framework is actually like.5
Thanks to my school I was introduced to this shit and by George is it some of the most unintuitive crap I've ever used.
The drag and drop shit should be fine, but oh if ever you doubleclick on something it will add a [name]_click method, and if you think you can just remove it fuck you!
Then there's the fact that splitting stuff up is unintuitive as hell as well. That is, you can't. You can define areas you can show and hide, and then you can drag stuff into them. That should be fine but everything is still in the same page (and if you have stuff overlapping then you better not move it with your mouse because then it will belong to another of those things). Contrast that with the more ~~~complicated~~~ and ~~~not what we learn~~~ WPF which has frames where the content can be define in different files.
Oh but if thatt wasn't enough, the autogenerated code is horrible as hell.
I died a little inside when I learned someone decided to take it to the web as well D:
Taking an extra course in WinForms when suddenly a classmate's PC BSOD's.
🤔 ...did WinForms do that? He closed his WinForms program when it happened.1
Super excited to have gotten the rare opportunity to completely re-write an old VB WinForms application instead of just hacking in functionality. Still has to be WinForms for various reasons, but getting to build it with MVP, separated concerns, testable logic, TDD, and not using in line SQL makes me feel like a pioneer of an old code base 😎
Actually, the biggest challenge is porting over the old functionality so it works the same! Nobody at the company was around when it was built so going from the code up (instead of outlining functionality first then making code) is difficult, but still worth it!
Shout out to all the other times we've had to hack in functionality to SHITTY code bases.... sometimes the re-write comes!!
Now I just need to not fuck it up 😅4
A coworker created several WinForms-Tools because it was "more comfy" than learning XAML which we usually use for all our sw clients.
Now that these tools are relevant for our infrastructure and some even for the product itself they have to be maintained by others as well.
Note: he tried to use OOP but the result is more like a complete new style of programing . Processes, objects and external scripts in the mix.
Mainreason why noone could know about it: the product manager used him as kind of private dev for some hours a week. No reviews, barely documentation... Now we decided that developing the tools from the scratch is more time and cost efficient.
What a mess...
I recently started a private project in which I want to develop a crappo 3d engine for a retro horror game. I kind of figured out the geometrics but also have tons of bugs to fix. I more or less accidentally made this isometric 3d simulation to debug/fix an important part of the rendering logic. It turned out to look kinda cool so I decided to share this experience.
"Lets move away from winforms to something a bit more modern, let's get our ux up to speed"
The new spec ended up wanting exact replicas of our Winforms projects in wpf.
Writing a small program for my Pi, which has to have a gui, process rfid information and do some stuff with motors and leds.
Unfortunately I don't know c++, so I have to write this all in python.
Gui's in python are the ugliest pieces of shit ever. Even fucking c# winforms are prettier than them.
Currently using PyQt5 as it is the less ugly of the bunch but man, you'd think python would have a lot more ui options considering the love it receives...5
I feel like saying "I know C#" (or Java or other similar languages) to mean that you know it as a language as opposed to more of a framework is ridiculous. We should say what programming language level we know (high, mid, low...) since the difference between say C# and Java is pretty much the same as the difference between say WinForms and WPF. Depending on which two languages and which two frameworks you choose it can be a much bigger difference between the frameworks than the languages.
In a CV I'd like to say "I know x-level languages with experience in [actual programming language + frameworks]" instead of saying I know C# and then recruiters and HR people and such assume I don't know Java at all, but know MVC, WebForms and whatever else even though I might specialise in something else and would take me pretty much the same to get proficient in Java as it would take me to get proficient in that framework or something that's technically C#.
It just makes so much more sense to me. As a dev you're supposed to know the principles, the syntax should be secondary. A pointer is a pointer regardless of it's marked with a * or IntPtr or just a value in a register with no special marking that it's a pointer...
Can we, as devs, come up with something like this?2
Lots of hate towards Microsoft, and they go and do something like this:
I'm excited for these features. With existing .NET Core you can compile console apps natively to Windows/MacOS/Linux. WPF and WinForms soon making it to .NET Core will bring the ability to compile native GUI apps too.
Oh, and .NET Core is all open source. It's a beautiful, beautiful thing.6
Does anyone know of a library I can design UI in HTML/CSS/JS for a C# app?
I need to remake my bot framework, but winforms is just so old.19
My first task as a developer was to make a 20-year-old migrated-to-winforms application with over 1500 forms dpi compatible because apparently someone used it at 125% (acceptable by some law) and it was simply unusable and looked horrendous😩2
The value of a good walk...
So I was stuck with this problem. There's the data structure then there is the display of the data structure. Two copies of the data which is fine.
But the displayed copy is a pain to work with (WinForms) and there the was problem of having to handle events when the displayed data changed then update the back end actual working array and synchronize it so they're both up to date. Couldn't figure out a good solution. Actually slept on it. Still it didn't sit right to have two copies like that and sync it.
Went for a 20 min walk and BAM! Solution found. There was a way to just directly update the crappy WinForm and sort the data and keep the properties then when done displaying/selecting just convert to the working data format...so simple no synching required!1
been exploring the options for cross platform desktop app, and i found :
java : both awt and swing look ugly, i really like OOP of java, and the way projects are organized is easy to scale, but i need to deploy the jdk, and the speed on gui apps isn't that great
C# : (.net/ mono, i can't grasp F# and vb is stupid) looks native on windows, not so much alien on both linux/mac, and being a java cousin is a pro, i found the Eto library for mono even looks more native on *ix than winforms
wxwidgets: for C/C++ so far this looks like the best option for total native feel and performance, but man i fucking hate C code, and this looks a lot like C code, even with proper native Cpp support, maybe i should dive deeper in it
GTK+ : did any one mention C code ? because this mother fucker is plain C with macros all over the place, it made me realize why wx is promoted as Cpp friendly, i doubt I'll use this
tcl/tk : even tho ive never wrote a single line of tcl in my life, the tk lib is the default ui for both python and ruby on all supported platforms,
and i really love ruby, and Python is Usually a joy to work with
Qt : this by far looks like the best option, proper OOP in C++, bindings for python (ruby binds are outdated), almost native look and feel on supported platforms, and even has a gui builder in xml or json/js (qml) however i bet I'll use such a thing, the building tho depends on an external preprocessor "moc" and some wicked macros, also makes working with templates a fucking mess, and the heavy dependence on QObject inheritance makes integrating external libraries a bit more tiring, the signal slot system makes more sense in python than in C++, since it makes me confused about the flow of the code
lazarus: is a freepascal implementation that looks and feels like delphi, not so much for native look and feel, but good performance and easy language to handle
electron : this fat mofo is fat, it's the slowest of all options, if i want an html app, I'll just compile a stripped down webkit and deploy that
what do you think ? and did i miss something ?17
Just a short story of me and how things can go right after so many years.
This was my first job. Only two other programmers in the company of like 10 employers.
First one is some one who stopped learning like 10 years ago. Winforms Ftw huh..
The other one was my boss who was really a pro but died not too long ago.
Because of this I got the responsibility for all his projects and the future ones. Beside that I'm also employed for our customer support. So pretty much to do here. Even new stuff I never heard of I have to learn asap now. Of course I have learned pretty much here. But I have reached the point where I have reached the maximum. I can't really learn much more. The salary is a joke.
But my other boss does not really care. Emotionally he has the feelings of a stick. No joke. This is going on even before the dead.
Many coworkers just gave up or got even sick of here.
But now I'm taking my consequences. I was looking for a new job now.
I was really lucky there.
Wrote 3 job application and even got invited 3 times. 2 were declined (luckily). The third one was a dream. For the people, the bonuses etc.
Now I'm waiting to sign the contract and the cancelation of my current one. The salary is a joke. Not chance of increasing.
Even though I’ve been working through a C# book about WinForms, which I’m half way done with, I still don’t feel like I’m working productively and I hate the negative feeling it’s giving me.
It’s going to sound stupid but it’s making me feel like I’m not spending enough time programming even though I’ve been programming quite a bit this week. I mean the small apps aren’t practical they’re just for learning how it all works but still. Im not reading the book for learning the programming logic it’s for the WinForms knowledge.
I think it’s just that I want to make progress on my main project and just have a 4+ hour coding session.19
Heya! I've created something in C# you might find useful (though it's simplistic, and not my idea).
It's a program which has a progress bar for the current year, one for the current month, for the day, hour, and minute. Here it is, if you want to try it: https://dropbox.com/s/...
Based off the Mac version (not made by me): https://twitter.com/year_progress/...
Which costs $5, by the way... While I uploaded it for free u.u
What do you think?
Also, there might be an easter egg for 2019 ;D
Happy new year, everyone! 💙2
I honestly have come a long way. But I still have these moments when I just lose confidence In myself, and while grieving it can be worse/more frequent.
I’m being taught some networking programming from this person I befriended and it’s going wonderfully! But I don’t know how much I’m taking in. I don’t know if I’ll be able to completely understand while I’m using what I’m learning, but I guess part of the learning is by using and doing. But what if I need to change it up for a different purpose but I don’t know how?
What if I’m not programming enough? When working on this project/learning the stuff from my new teacher friend to actually make some of the stuff I usually work on that for 30 mins to an hour and a half maybe even 2. Relax, do some college, play games, then later I’ll try to work through a few exercises of my C# WinForms book.
And before you say it I’m not balancing too much on my head. I’ve learned GUI’s before with Python I’m just reflecting that to C# and it’s easy and I’m always in a separate headspace for networking. But it all just doesn’t feel like enough?
It also doesn’t help that i don’t feel like I’m doing anything special that I can boost my confidence with. Usually in a project I won’t feel like I’m doing anything until a cool or special feature is made and I know that’s bad I hate it but I can’t avoid it and I want to feel good even when nothing completely out of this world is made that day.
And I’ve definitely come a long way I’m proud of myself but I just hate getting these feels. And It happens a bit when I’m learning because I’m afraid I’m not learning and I’m gonna keep copy pasting the same code snippets for different projects and I don’t want that I want to be able to fucking edit and change it or make a completely new one of whatever it is but my design but I guess that takes experience with it first.
Thanks for coming to my TED talk
So last semester for my English class, I had to learn a "new skill" and write an essay [the final] about it. So naturally instead of taking the time to learn something new, I just slapped together a c# (in which I'd say I'm already fluent) calculator app with winforms.
When it came time to present my "new" skill to the class, everybody was overimpressed. Then at the end of my little presentation, one guy goes "Oh! Is that all done in HTML?".
Without giving it a thought, I instinctively replied "No, it's a programming language". He just looked so confused after that.
Some Coworker - developing about 20 years with WinForms and very ugly code.
Me - Junior Dev about 4 years now started with WPF and not long ago with MVVM.
Me trying to teach him some MVVM... Just frustrating. Like talking against a Wall..
Getting a headache now. I need a stressball -.-1
I got a report of a relatively simple WinForms app created by a senior (!!) developer who left just as it was released taking 3 minutes to load.
Step through it.. Narrow it down to one stored procedure.
Open said query, every join is a left join.
None needed to be a left join.
Change them all to inners, app now loads in 5 seconds.
Left Joins: For when people can't be assed to learn SQL basics.
So i have decided to rewrite my old project from the ground. This time propely with all the bells and whisles and the proper planning.
Before i ever could start hammering at my keyboard in VS like a monkey i have encountered a few problems:
1.I want for it to be Reeeeesponsive or whatever yeet the kids think is cool now. So winforms arent going to be cut it, i would have to manualy handle resizing of the buttons and text. So UWP or WPF are the only choice.
2.I want it to be multiplatform. Some users might want to use it on windowsnt so i have to be prepared. Options: Winforms or .netcore without gui......
3.Licence - I want to allow people to use it but i always want them to know who the author is. That app wont get that much attention so allowing people only to use it is the safest option.
I wish there was a easier way...
Still i love C#6
Why should any one still want Window Form app? Hey antique, there is something called WPF.
I hate win form and love wpf3
Spend two years putting your heart into rebuilding our internal WinForms apps in WPF to modernize and have something more agile (and fun) to work with, just to be told that the Board has decided to replace all of it with a third party system because our own stuff can't give them the economic reports that they're used to. Fml.2
Whenever I see example code produced or shown by Microsoft, it either
1) looks like some WinForms anno 2009 shit, or
2) a horrible implementation of obfuscated code jizz.
What is the point of .NET Core 3 WPF and WinForms? Only thing i can think of is that MS want's to migrate frameworks to .NET Core, but is there anything that those frameworks gain?9
Working on a project that requires two computers is complex for me currently. I need to wait for the only other windows computer to become available in the house.
Although in the mean time I’m just taking the time to learn WinForms since someone lent me a book for it. I know WPF is better but I’m not interested in learning it at the moment. WinForms will do all I need it to.8
I need some help with TCP connection related stuff in C#. I need to figure out how to make a very basic connection between two endpoints and manage to send data between them. In my case it's a "server-side" program and a "client-side" program.
My problem is that I don't know how I go about making the client program listen for response after sending data. Do I need to have a TcpListener on the client side too? In which case, how do I use it?
Basically, I know how to make the client toss the ball and how to make the server catch it, and I think I know how to make the server toss the ball back, but I don't know how to make the client catch it. :/3