The following code shows how to modify the Text property of a label when a Visual Web Part loads.
NOTE: This code assumes there is an ASP.NET Label control called message in the Visual Web Part

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace BonnevilleTestBed.VisualWebPart1
{
  public partial class VisualWebPart1UserControl : UserControl
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      message.Text = "Welcome to SharePoint 2010 Development";
    }
  }
}

 

The following code shows how to render a welcome message when a standard Web Part loads:

using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

namespace BonnevilleTestBed.BonnevilleStandardWP
{
  [ToolboxItemAttribute(false)]
  public class BonnevilleStandardWP : WebPart
  {
    public BonnevilleStandardWP()
    {
    }

    protected override void CreateChildControls()
    {
      //Get the currently logged-on user's name from the SharePoint object model
      string username = SPContext.Current.Web.CurrentUser.LoginName;
      LiteralControl myMessage = new Literalcontrol("<H3>Welcome " + userName + " to SharePoint 2010 Development</H3>");
      this.Controls.Add(myMessage);
      base.CreateChildControls();
    }

    protected override void RenderContents(HtmlTextWriter writer)
    {
      base.RenderContents(writer);
    } 
  }
}

 

The following code shows how to iterate through all lists and subwebs in a SharePoint site, and add them to a treeview control in a Visual Web Part.
Note: This code assumes there is a TreeView control called siteStructure in the Visual Web Part. Note also how the addWebs() method is called recursively.

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using System.Web;
namespace BonnevilleTestBed.Bonneville
{
  public partial class BonnevilleUserControl : UserControl
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      SPWeb thisWeb = null;
      TreeNode node;
      thisWeb = SPContext.Current.Web;
      //Add the Web's title as the display text for the tree node, and add the URL as the NavigateUri
      node = new TreeNode(thisWeb.Title, null, null, thisWeb.Url, "_self");
      //The Visual Web Part has a treeview control called siteStructure
      siteStructure.Nodes.Add(node);
      //Get a reference to the current node, so child nodes can be added in the correct position
      TreeNode parentNode = node;
      //Iterate through the Lists collection of the Web
      foreach (SPList list in thisWeb.Lists)
      {
        if (!list.Hidden)
        {
          node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
          parentNode.ChildNodes.Add(node);
        }
      }
      foreach (SPWeb childWeb in thisWeb.Webs)
      {
        //Call our own helper function for adding each child Web to the tree
        addWebs(childWeb, parentNode);

        childWeb.Dispose();
      }
      siteStructure.CollapseAll();
    }

 

    void addWebs(SPWeb web, TreeNode parentNode)
    {
      TreeNode node;
      node = new TreeNode(web.Title, null, null, web.Url, "_self");
      parentNode.ChildNodes.Add(node);
      parentNode = node;
      foreach (SPList list in web.Lists)
      {
        if (!list.Hidden)
        {
          node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
          parentNode.ChildNodes.Add(node);
        }
      }
      foreach (SPWeb childWeb in web.Webs)
      {
        //Call the addWebs() function from itself (i.e. recursively)
        //to add all child webs until there are no more to be added
        addWebs(childWeb, parentNode);
      }

    }
  }
}

 

The following code shows how to use a DateTimeControl and ListViewByQuery control to display tasks that are due before the date chosen by the user.
Note: The DateTimeControl includes an event handler that refreshes the query definition for the ListViewByQuery control when the user selects a different date.

protected override void CreateChildControls()
{
  SPWeb thisWeb = null;
  DateTimeControl filterDate = new DateTimeControl();
  filterDate.DateOnly = true;
  filterDate.AutoPostBack = true;
  thisWeb = SPContext.Current.Web;
  filterDate SelectedDate = DateTime.Today;
  filterDate.DateChanged += new EventHandler(filterDate_DateChanged);
  this.Controls.Add(filterDate);
  MyCustomView = new ListViewByQuery();
  MyCustomView.List = thisWeb.Lists["Tasks"];
  SPQuery query = new SPQuery(MyCustomView.List.DefaultView);
  query.ViewFields = "<FieldRef Name='Title' /><FieldRef Name='Due' />";
  //CAML Query. Note that there must be a using statement for 
  //Micoroft.SharePoint.Utilities to use SPUtility class as shown
  query.Query = "<Where><Leq><FieldRef Name='Due' />"
    + "<Value Type='DateTime'>"
    + SPUtility.CreateISO8601DateTimeFromSystemDateTime(FilterDate.SelectedDate)
    +"</Value></Leq></Where>";
  MyCustomView.Query = query;
  this.Controls.Add(new LiteralControl("<br />"));
  this.Controls.Add(MyCustomView);
  EnsureChildControls();
  base.CreateChildControls();
}
void filterDate_DateChanged(object sender, EventArgs e)
{
  DateTimeControl filterDate = (DateTimeControl)sender;
  SPQuery query = new SPQuery(MyCustomView.List.DefaultView);
  query.ViewFields = "<FieldRef Name='Title' /><FieldRef Name='Due' />";
  query.Query = "<Where><Leq><FieldRef Name='Due' />"
    + "<Value Type='DateTime'>"
    + SPUtility.CreateISO8601DateTimeFromSystemDateTime(FilterDate.SelectedDate)
    + "</Value></Leq></Where>";
  MyCustomView.Query = query;
}