[mono-vb] VB Form Designer

Quandary quandary82 at hailmail.net
Sun Mar 27 18:40:04 EDT 2011


LoL yea.

[AttributeiLikeTrolling]
The only problem is Lynx isn't installed by default on Windows.
And on Linux neither.

But I found a version for contemporary Windows' that doesn't require
DOSemu here:
http://www.vordweb.co.uk/standards/download_lynx.htm

On the other hand, Prypiat and Fukushima are the perfect example of what
can happen if you don't follow Section 508 of the manual of elementary
probability calculus that on no uncertain terms warns you that a 1%
chance of a catastrophe is not negligible since/when you don't have 100
lives.

Sorry to demotivate you, but it's a sad fact, but a fact, that you have
to code for the lowest common denominator.
If you do otherwise, you will only be walking into a wide open knife.
And what happens then you see very well on the example of Windows Vista.


No seriously.
The idea is good in theory, but making it work will require excessive
amounts of time.

Then, whether it is feasible at all is another question.
You'll certainly be able to create a simple form design with that.

But for more complex things, you'll need to communicate between client
and server, and in a (http) web-application, only the client will be
able to send requests to the server, not vice-versa (unless you use
Chrome/Webkit with WebSockets).

Will I for example be able to edit the GUI code (e.g. add a onclick
hander), and then make some changes in the GUI, without loosing my
onclick modifications ?
When I change the name of the onclick handler (no problem in VB.NET for
example) while the form is open, what happens if I double click on the
button (will it find the existing handler or will it create a new one,
with undefined behaviour at runtime if you have 2 handlers for the same
event ?), etc., etc. .

Or will I just have to add all the handling code myself.
Would you for example remember the argument types for all kind of
events, or even just all events ?

Then resolution:
Will the size of a square in the browser match the size in the
desktop-world ?
Will it only work on your computer, or on mine, too ?
What if I want to add a picture ? later change it...

Will it be able to detect if CheckBoxes are in the same GroupBox ?

Not to mention that it will have to be able to render custom controls,
and getting it's property grid.
Which means it needs to do reflection. And it needs to update them when
they changed (for example when I edit a custom control and add some
property, with the custom control being used in Form1). Which will
require the server to send a notification to the client, which, for
example, is exactly what you can't do in a web application (as said,
unless you use Google-Chrome).

Plus it will look akward if you have a desktop application here, and a
web-application there.


So, summa sumarum:
Don't you think your time would be better spent if you'd fix stetic ?
It doesn't look like it would need that much time to get it somewhat going.
It only throws exceptions on certain actions, which means it should be
easy enough to fix so that it at least doesn't crash on your every move.

After all, it doesn't matter if the GUI is integrated in MonoDevelop or not.

What matters is that it enables you to generate and edit somewhat
accurate forms code on Linux quickly.

Who cares if you have to have the project source folder open to edit the
forms code externally.


Kind regards

Stefan


On 03/27/2011 11:09 PM, Jude DaShiell wrote:
> There's a way around all of that.  Make it work with lynx and leave it 
> at that level of operation.  It's known as lowest common denominator of 
> interface and if more programmers and developers would use that 
> strategy, they'd have far fewer problems with Section 508 compliance.
>
> On Sun, 27 Mar 2011, Quandary wrote:
>
>> Sounds cool.
>>
>> The only question would be how to drag & drop controls on it, unless one
>> adds the
>> toolbox as HTML JQuery accordion, too.
>>
>>
>> But I think your project is already doomed before it even really begins.
>> Let me outline the reasons for that below.
>>
>>
>> First, but not foremost, there is a GTK# designer.
>> You install MonoDevelop 2.6 Beta.
>> Then create a GTK# solution.
>> Then goto the menu "View" and enable "Visual Design".
>>
>> The GTK designer there is better than the old Glade in the repositories,
>> at least for Ubuntu 10.
>> And I just saw it now has a "table" control.
>> Unfortunately, I just don't know how the databinding works.
>>
>> In general, I found using the GTK# controls challenging (well I have
>> zero experience with GTK).
>> I've once tried about 6 to 12 months ago, an entire day, got it working
>> on Windows in VisualStudio, including Glade, although the documentation
>> was obsolete and thus wrong.
>>
>> I even managed to populate a DropDown box (but only after consulting a
>> code sample on the web).
>> Haven't managed to set the background colour when one scrolls down when
>> selecting.
>>
>> I've tried a bit with Chinese characters, to see if it works with
>> Unicode in labels and textboxes.
>> I was surprised to see that it did.
>>
>> However, the positive surprise faded when I found the textbox
>> change/selected event doesn't really support Unicode (well, maybe I did
>> it the wrong way).
>>
>>
>> Still, the main reason why I don't use it is the lack of samples and the
>> resulting excessive development time, and the lack of a
>> DataGridView-like control.
>>
>>
>>
>> So, about a year ago, I was bothered by the inability to quickly
>> generate a DataGridView on a WinForms to view information retrieved from
>> a database.
>>
>> GTK# doesn't even offer a control like this.
>> So I had to resort to ASP.NET.
>>
>> I found it rather disturbing, because the main things I need is querying
>> databases and see the returned tabular data. Starting a server every
>> time is time-consuming, plus I don't like Firefox, although there very
>> probably is a way to set the MonoDevelop browser to Chrome.
>>
>>
>> So then I wanted to write a SQL Server Management Studio like tool for
>> Linux, for different kinds of databases, like MS-SQL, PostGre, MySQL and
>> FireBird.
>> There was SQL workbench, but it is just horrible.
>> And then there are all those other rather crappy tools, like pgadmin,
>> mysqladmin and especially FlameRobin.
>>
>> I hadn't had much time, so I didn't do anything.
>> So recently, when I used XSP to embed a webserver in a windows server
>> application
>> (wrote a webinterface for LumiSoft mailserver), I had an interesting idea:
>>
>> If there was a JavaScript control for highlighting SQL syntax while
>> writing it (http://codemirror.net/), I could write a web application
>> just like SQL Server Management Studio, and then embed an XSP server and
>> a WebBrowser control in a WinForms application.
>>
>> (
>> To see a demo of what it would be like, see here:
>> http://demo.mywebsql.net/
>> )
>>
>>
>> The only problem with that is that WinForms browser on Windows is IE 7,
>> a piece of crap, and I haven't figured out how to get WebKit-Sharp
>> running on Windows.
>>
>> So what that means is, you have to roll your own browser !
>> There, I had the added problem that if I embed Webkit.NET on Windows
>> (since I don't know how to get Webkit-Sharp working there), and
>> WebKit-Sharp on Linux, then the one uses WinForms while the other one
>> uses GTK.
>>
>> Then, it also means you have to maintain 2 separate programs, which
>> although they do the same, will eventually diverge, as separate projects
>> always do.
>> Not an exciting prospect.
>>
>> Plus even if it was possible to deploy WebKit-Sharp on Windows, I'm not
>> excited about deploying GTK# on Windows computers.
>> First, because it means I need an installer for GTK, and I would need to
>> incorporate that into my own project installer, which means I would need
>> one in the first place, which is another thing I don't want.
>>
>> I want to be able to just copy-past the entire thingy, not worrying
>> about anything else.
>> (Which also might mean XSP is a problem, because it needs GAC
>> installation [AKA admin rights] to work).
>>
>> Second, because native GTK needs to be in the path environment variable,
>> and that creates a problem if the user has already installed an older
>> version of GTK (Exception entry point not found, etc.).
>>
>> And third and most importantly, because GTK# is very undocumented and it
>> takes a long time to do even simple things with it.
>>
>> For the same reason, I think your project is already doomed.
>> Because there is no consistent WebBrowser control.
>>
>> I mean if everybody would use Google-Chrome/WebKit, then it would be a
>> piece of cake.
>> But getting it to work with browsers as crappy as IE 6/7/8/9 or Firefox
>> will eventually drive you crazy.
>>
>> Well, I guess you can forget about IE6, but that still leaves all the rest.
>>
>>
>> * Ducking now for fear of being trolled by FireCrap fans *
>>
>>
>>
>> On 03/27/2011 06:26 PM, MagicZelda wrote:
>>> Hi All,
>>>
>>> Last year I posted about having a winforms designer for mono VB.NET. As
>>> there was not one I went back to MS Vis Studio :(.
>>>
>>> Now the good news.
>>>
>>> I have (be it very basic and needs work) created a webpage that will allow
>>> you to design the layout of the form and create the .Designer.vb and Form.vb
>>> (basic class) code. Ive done this in HTML and Javascript so can be used
>>> directly in Firefox on Linux. 
>>>
>>> As I said it is very basic and I will continue working on it but it sort of
>>> does the basics to get the form designed up front.
>>>
>>> If anyone is interested, let me know and I will post somewhere.
>>>
>>> Many thanks to all.
>>>
>>>
>>> --
>>> View this message in context: http://mono.1490590.n4.nabble.com/VB-Form-Designer-tp3409540p3409540.html
>>> Sent from the Mono - VB mailing list archive at Nabble.com.
>>> _______________________________________________
>>> Mono-vb mailing list
>>> Mono-vb at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-vb
>> _______________________________________________
>> Mono-vb mailing list
>> Mono-vb at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-vb
>>
>>
>



More information about the Mono-vb mailing list