Hi Luca
Just in case this is the right place.
How do you get user controls to appear in the toolbar so that they can be added to a design surface such as a Window?
With VWG they were there after the project was compiled.
I have tried on two machines using your Report Viewer example and the control does not appear in the toolbox even after clean and recompilation.
Thanks for your help
Ewan
Hi Luca
Just one further question how do you add user controls to the design surface or window?
In VWG once the project had been compiled they were listed in the toolbox.
Thanks for your help
Ewan
You may also want to look at Wisej.Web.Widget instead of using the HtmlPanel, which was designed to show html text, not to wrap widgets.
The Wisej.Web.Widget class lets you add packages (javascript sources loaded in sequence) and an initScript. See https://wisej.com/extensions – in particular CoolClock to see how to extend the class.
Otherwise simply drop Wisej.Web.Widget on a container, then edit InitScript and type:
// initialize the widget.
this.init = function()
{
this.container.innerHTML = "<div id='myDiv'>Hello</div>";
this.myDiv = document.getElementById("myDiv");
}
// new method: doSomething
this.doSomething = function(text)
{
this.myDiv.innerText = text;
}
Then in C# you can:
this.widget1.Call("doSomething", "Hello Again");
HTH
Best,
Luca
Ok yes… I change the html and js in the client side… this is better for my app.. so can I execute some function like “_Load” when a client push “Refresh” on the browser? then i charge the code again.
I tried.. the event “_Paint” this is fired on every refresh from the browser, but the problem is that dissapear my background..
Maybe other event?… something like refresh..
Hi Ewan,
Try the attached sample. It shows how to wrap the ReportViewer and in general the flexibility of this extension.

Best,
Luca
It’s pronounced Wise-j.
The name originally (two+ years ago) was a stack name, similar to Asynchronous JavaScript and XML (Ajax) or Linux Apache MySql and Python/PHP/Perl (Lamp).
It was:
W-Windows
I-Internet Information Server
S-Sencha
EJ-ExtJS
Sencha because the first prototype was using Sencha ExtJS widgets. At one point we had both ExtJS and Qooxdoo. Then, luckily, the deal with Sencha didn’t work out and the control set is fully built on qooxdoo. In fact Wisej has been developed in layers and the platform is fully separated from the core.We could use Dojo or other javascript widget libraries.
Since the domain name was registered early on and wisej is a nice name, now it means: Web Integrated Server Environment with JavaScript (Wisej).
Best,
Luca
Yes, confirmed. It happens when the iframe overlaps the other controls. Will be fixed in the next update.
Thanks,
Luca
The refresh doesn’t fire the Load events again. Firing Load on every request is an ASPNET feature because it needs to recreate the entire object model of all the pages on every request, even if it’s just a click.
In Wise the Load event is fired when the container is created the first time only. After that the state is fully maintained. If you run some javascript code, it has to run again since whatever the js code did is gone after the refresh.
It sounds like you are not using the Wisej properties and are changing the html on the client? If you change the html on the client then you have to redo it on every refresh. It seems to be a hard way around what’s already implemented in Wisej.
Can you post a small sample app please?
Best,
Luca
It’s not painted because you are not painting it 🙂
Try this e.Graphics.FillRectangle(Brushes.Red, e.ClipRectangle) instead of “without any code inside“.
There is also a full custom painting example here: https://wisej.com/examples.
HTH
Best,
Luca
Unfortunately this is one of the features we left out for the release. The Desktop control is supposed to have two collections Shortcuts and Notifications and a StartButton. The Shortcuts lets you add a clickable and themeable icon to the left of the taskbar items, while the Notifications collection lets you add panels to the right of the taskbar items.
They will be available probably by the end of November.
Best,
Luca
Hi Michael,
When you minimize a window, it is hidden from the client view. The WindowState is Mininized. You can set the WindowState to Normal or Maximized to show the window again. I noticed that we don’t have a WindowStateChanged event and the state is changed after changing the visibility, so it’s hard to detect. I have logged an enhancement to add the WindowStateChanged event, it will be in the next update. I can send you a simple derived Form class if you need the event right away.
The Desktop control (or user derived classes) replace the default window manager and when a window is minimized it shows a taskbar item in the taskbar.
Without the Desktop control it’s up to your application to manage minimized windows. You may handle them in a menu, or in a list of icons, or create stacked buttons. It’s entirely up to your app. If you’d like to use the built-in Deskop you can either use it as-is or as the base for your Desktop class.
HTH
Best,
Luca
I have found Refreshing the toolbox seems to have fixed the issue. Installed 1.3.5 today and toolbox is as it should be
Hi Mohammad,
yes it’s possible.
Jusr use a develop machine that is connected to the internet and create a server license file on it.
Then you can deploy that file to your server.
Best regards
Frank
Hi Luca
Is the UserComboBox in the current release 1.3.5?
Thanks for your hard work
Ewan
Hi Gunter,
Your code didn’t set the size of the grid, which is larger than the panel it placed it in. Using F12 you can see that the grid is larger than the panel. The flow layout panel doesn’t change the size of its children (unless you are using the FillWeight property), it simply wraps them.
If you add d1.Size = flowLayoutPanel1.Size; you’ll see the scrollbars. Also you don’t need to set d1.ScrollBars unless you want to suppress them, the default is to show the scroll bars.
See image below:

May I also ask you to please type the subject of the question instead of using “xx” or “xxx”.
Best,
Luca
Hi Washington,
in order to make x = Application.Session.UserCode work, you have to turn off Option Strict for your vb.net project.
(Section Compile in build options).
You can also turn it off as default for future vb.net projects in Tools / Options.
With Strict On you can only use the syntax x = Application.Session(“UserCode”).
Please note that the performance is the same as for the dynamix syntax.
Best regards
Frank
I think you have to change the voice too. The lang property doesn’t seem to do anything. Use this voice “Google español”. The string must match exactly the voice installed by chrome.
See:
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/lang
Hi Ewan and Dino,
The AspNetWrapper extension is ready and will be uploaded with source code in the extensions page on Tuesday. I will also upload a small sample Wisej application that defines a AspNetReportViewer wrapped control and uses it connecting with a test db we have using AdventureWorks.
The AspNetWrapper generic base class allows you to wrap most if not all AspNet controls quite easily:
public class AspNetReportViewer : AspNetWrapper<ReportViewer>
{
// Add properties and events specific to the control
protected override void OnInit(EventArgs e)
{
var viewer = this.WrappedControl; // <- it's already typed.
// Initialize the viewer.
}
}
Best,
Luca
