Carlos Ble

Carlos Ble

I am a professional software developer, I solve problems.

I also teach and mentor developers to build better software.

Working as an independent professional since 2009.

Can I help you?

  • Do you need high quality tailor-made software?
  • Need training on TDD, clean code or refactoring?
  • Is it risky? do you need advise?
  • May I pair with you to write better code?


Upcoming public training courses:

  1. [in English] May 5, 6 & 7
    TDD - Train the Trainers (iSQI)
    Potsdam, Berlin
  2. [en Español] 23, 24 y 25 de Abril.
    Curso de TDD con examen de certificacion iSQI
  3. [en Español] 29, 30 y 31 de Octubre.
    Curso de TDD con examen de certificacion iSQI


  1. I'll be at SocratesUK 2014
  2. I'll be at the London Test Gathering Workshops.

Splash screen in Gtk#

This sample shows how to create a splash screen using Monodelop and Gtk#. Create a new Window. Within its properties, unset the Decorator so that it won't have any title bar. Add a HBox or VBox inside the window with only one placeholder. Add a button inside and select Custom in the Button Type under the Button Properties. Add an image inside the button.
Source code that makes it work:

  2. using System;
  3. using System.Threading;
  5. namespace sigaDesktopClient
  6. {
  7. public partial class MainWindow : Gtk.Window
  8. {
  10. public MainWindow() :
  11. base(Gtk.WindowType.Toplevel)
  12. {
  13. this.Build();
  14. ThreadStart tStart = new ThreadStart(this.EndSplash);
  15. Thread t = new Thread(tStart);
  16. t.Start();
  17. }
  19. public void EndSplash()
  20. {
  21. Thread.Sleep(2000);
  22. Gtk.Application.Invoke(
  23. delegate (object sender, EventArgs args)
  24. {
  25. StartApplication();
  26. }
  27. );
  28. }
  30. private void StartApplication()
  31. {
  33. this.Hide();
  34. }
  36. protected virtual void OnClick (object sender, System.EventArgs e)
  37. {
  38. StartApplication();
  39. }
  41. protected virtual void OnEntered (object sender, System.EventArgs e)
  42. {
  43. StartApplication();
  44. }
  45. }
  46. }
Enjoyed reading this post?
Subscribe to the RSS feed and have all new posts delivered straight to you.
  • Allegro Namioty

    You made some nice points there. I looked on the internet for the subject and found most guys will consent with your website.

  • brombomeopifs

    There are multitudinous reasons why you call a kitchenette slash sharpener Rotary Knife Sharpener
    If you would rather purchases a quality set of knives, you may already have blade sharpeners. There are uncountable contrary kinds, the ones with a hanker metal rod and a portfolio like ostensibly, seconded to a handle, called a honing recalcitrant

  • womens uggs sale swell

    strongzz I like the valuable info you provide in your articles. I’ll bookmark your weblog and check again here regularly. I’m quite certain I’ll learn plenty of new stuff right here! Best of luck for the next!